因缺思厅的绕过

看一下页面源码,看到source.txt。所以进入同目录下的source.txt

代码审计下,并且百度了一些函数。过滤了很多关键字,因此常规的SQL注入没有头绪。想了挺久,因为要满足三个条件。1:不能输入过滤的关键字2:只能返回一行数据3:并且输入的密码与返回的一行数据中的pwd一样才 print"CTF{xxxxxx}"。所以看了下大佬们的WP,学到了with rollup的语法。详细的讲解可以看这个

https://www.jianshu.com/p/1ecec1f6f3db

简单的来说就是利用with rollup的语法,在最后一行添加了NULL 的数据,即PWD=NULL。所以在POST输入页面,不填写PWD,空字符与NULL相等.因此可以满足了并且用'1 or 1 limit 1 offset 0#    ,  '1 or 1 limit 1 offset 1#     ,   '1 or 1 limit 1 offset 2#     可以看出来当2#的时候,返回的是“一颗赛艇”,即不满足一行的数据的条件,其他的两个都是满足一行数据的条件。因此第三行没数据。所以只有两行数据。因此用了with rollup的语法后,在第三行生成了一行NULL数据。因此payload可以为1' or 1 group by pwd with rollup limit 1 offset 2#     pwd不填值。

 

 

 

limit 1 查询一行

offset 2从第三行开始

关于wiht rollup语法,https://www.cnblogs.com/shuangnet/archive/2013/03/26/2982144.html这篇文章讲的是group up 两个字段的情况,之前看了这个,进了这个坑。自己动手试了一下才出了这个坑

 

自己动手了试了一下

 

转载于:https://www.cnblogs.com/BOHB-yunying/p/10561694.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值