首页
社区
课程
招聘
[求助]sql注入怎样准确地探查哪些字符被过滤了?
发表于: 2017-5-22 21:28 4718

[求助]sql注入怎样准确地探查哪些字符被过滤了?

2017-5-22 21:28
4718

     以这条sql注入习题说一下,实验吧的,链接:http://www.shiyanbar.com/ctf/1908


     我是这样来探查哪些字符被过滤的,如图

   

   这里说明1没被过滤吧


   下图,说明select被过滤?我结论是如此,然而应该是没被过滤

上图应该是说明select被过滤了吧,我用同样的方法,试探出空格,+,)都被过滤了。


然而最后正确的可以绕过过滤的sql语句为

1'/**/union/**/select/**/flag/**/from/**/flag/**/where/**/'1'='1


这里select没事.....我上面光输入select来探查的时候,应该是可以得出select被过滤了的结论的吧.....看来是我用来探查哪些字符被过滤的方法有问题,正确的方法是怎样呢?


[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 9731
活跃值: (3091)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
2
很多是利用正则匹配来过滤的,绕过了正则表达式  可能就绕过了过滤

2017-5-22 23:01
0
雪    币: 30
活跃值: (201)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
netwind 很多是利用正则匹配来过滤的,绕过了正则表达式 可能就绕过了过滤
但是我只输入select的时候,被过滤了,而/**/select/**/就没事,select都是一样出现了的啊......
2017-5-23 07:59
0
雪    币: 30
活跃值: (201)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
自由的翅膀 但是我只输入select的时候,被过滤了,而/**/select/**/就没事,select都是一样出现了的啊......
正则表达式能匹配到select,那么/**/select/**/应该也能匹配到的吧........
2017-5-23 08:00
0
雪    币: 9731
活跃值: (3091)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
5
你研究一下正则表达式就明白了
2017-5-23 13:37
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

刚刚在另外一个哥们儿那里贴了这个攻略,不过不算是自己绕过的。实际上将被过滤的关键字改成selectselect  (注意空格)也是可以成功的
使用1'  and  1=1  or  ''='      返回
You  have  an  error  in  your  SQL  syntax;  check  the  manual  that  corresponds  to  your  MySQL  server  version  for  the  right  syntax  to  use  near  '1=1  or  ''='''  at  line  1。因为and被过滤掉
使用1'  andand%20%201=1  or''='      返回
ID:  1'  and  1=1  or''='
name:  baloteli

ID:  1'  and  1=1  or''='
name:  kanawaluo

ID:  1'  and  1=1  or''='
name:  dengdeng
这里将空格写成%20是为了明显的显示出来需要两个空格
http://ctf5.shiyanbar.com/423/web/?id='  or  exists  (selectselect    *  fromfrom    admin)    andand    ''='

2017-5-24 11:26
0
游客
登录 | 注册 方可回帖
返回
//