[GXYCTF2019]BabySQli
打开题目

只有登录框,试了一下1,1

报用户名错误,然后试了一下admin,1

报密码错误,然后查看源码的时候发现了一段编码

看着像base的编码,试了试base64没结果,试了一下base32出了base64


解码完成后给了一段sql语句,之后就没有思路了,就去找大佬的wp了。
小知识:
下面用一下大佬的图片(介意的话可以私信我删了)


用联合查询的时候会生成一个虚拟的表数据,所以我们就可以通过这样来更改自己想要的密码。
因为题目已经提示了这里有sql注入,所以我们直接判断列数
admin' order by 5#

回显不要攻击我,说明这里存在过滤。
然后就多试了几次,发现是过滤了order,换成大写就可以绕过。
列数又不对,就换成了3。

admin' ORDER by 3#

后面就利用联合查询,最后得知第二列是用户名,第三列是密码。
payload:
1 username:1' union select 1,'admin','202cb962ac59075b964b07152d234b70'# 2 password:123
密码有用md5加密,题目没有提示,需要一点经典,一般密码都会进行MD5加密。

浙公网安备 33010602011771号