[GXYCTF2019]BabySQli
使用单引号测试是否存在注入,发现页面报错
跑一下字典查看过滤了哪些关键字,函数
发现过滤了information.schema.tables,应该不是常规的注入
在响应包中发现了注释的内容
base32解密后,在使用base64进行解密
base32 和 base64 的区别
base32 只有大写字母和数字数字组成,或者后面有三个等号。
base64 只有大写字母和数字,小写字母组成,后面一般是两个等号。
base32 解码网站:
https://www.qqxiuzi.cn/bianma/base.php
解码后的结果为
select * from user where username = '$name'
这个时候就会联想到可以通过联合查询构造一个虚拟的数据,例如
所以payLoad为:
name=' union select 1,'admin','202cb962ac59075b964b07152d234b70'#&pw=123
不能写成这样
name=admin' union select 1,'admin','202cb962ac59075b964b07152d234b70'#&pw=123
因为这样会把admin用户的原密码先查询出来