XCTF(77777-2)


题目链接:http://47.52.137.90:20000

这道题目和前面的那道题目大致一样,只不过是过滤的函数不一样
检查过滤函数的方式就不写了,直接来解题

检查函数发现过滤了ord ascii like = 1~9
过滤了ord和ascii就用conv来代替,那些数字就用加法来处理,这里的题目说的是pw那就是说有可能自己添加进去的列,那就是说可能没有那么多列,可能不用条件查询

构造一下语句,只要将上一题的改一下就好了

flag=0&hi=+conv(hex(substr((select pw from mysql.user),1,1)),16,10)#
(conv的用法我的一篇文章有,这里就不解析了)
上面那样构造语句发现出现sorry
但是查询到,确实存在pw在user表中

那就有可能是那个列存在不止一个数据
用不了like 也用不了 =
后来看了朋友的wp,发现他用了group by
(我不理解为什么用这个可以查到,上一道题用group by 也是可以的,但是我的本地数据库用group by 查询是不行的)

(理解不了就记住吧...)
那就按照那样构造吧

很莫名奇妙出现了个hack,过滤了group by ?

去掉pw,发现只出现sorry 那就是没有过滤,所以就是过滤了group by pw这个组合了,那就给它改个名字

然后就可以了,题目基本结束了,接下来就是写脚本跑了

脚本

posted @ 2018-03-13 09:38  捏捏nienie  阅读(182)  评论(0编辑  收藏  举报