[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用户的原密码先查询出来

 

 

posted @ 2020-07-07 10:45  GTX690M  阅读(195)  评论(0编辑  收藏  举报