MENU

CTFWeb—— 因缺思汀的绕过

October 13, 2018 • Read: 3588 • Web,CTF阅读设置

解题链接展开目录

思路展开目录

审计网页代码,发现有一个注释:

  • <!--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 了

  • 1' or 1 group by pwd with rollup limit 1 offset 2#

答案展开目录

  • CTF{with_rollup_interesting}
Archives Tip
QR Code for this page
Tipping QR Code