实验吧-因缺思汀的绕过WriteUp

2 篇文章 0 订阅
2 篇文章 0 订阅

实验吧-因缺思汀的绕过WriteUp

题目地址:http://www.shiyanbar.com/ctf/1940

审计网页代码,发现有一个注释:<!--source: source.txt-->
访问同目录下的source.txt
发现登陆的逻辑代码,下面就可以针对它进行绕过。!
登陆逻辑代码
这里有三层限制

0X00

在第一层的filter里面就过滤了常用的SQL关键词,所以常规的SQL 注入就不行了。如果输入了filter里面的语句,网页返回“水可载舟,亦可赛艇!”

0X01

第二层是限制从数据库返回的数据必须是一行,在满足第一层条件的情况下可以使用 limit 的返回来确定数据库中总共有几行数据。
注意它的查询语句是 select * from interest where uname = ‘{$_POST[‘uname’]}’于是构造:

1' or 1 limit 1 offset 0#
1' or 1 limit 1 offset 1#
1' or 1 limit 1 offset 2# 

发现2#时返回“一颗赛艇!” 其他都是“亦可赛艇!”———–说明数据库只有两条信息

0X02

接下来想办法绕过第三层,这里是个if判断,只要为true 就可以过,于是可以利用group by with rollup来绕过,group by with rollup会在统计后的产生一条null信息,然后在pwd里不写值,if就为true了。

payload:1' or 1 group by pwd with rollup limit 1 offset 2#
flag:CTF{with_rollup_interesting}
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值