当前位置:首页 > 探索

xampp网页后台渗透

xampp网页后台渗透

拿下一台装了XAMPP的页后Windows服务器,很多时候比想象中简单。台渗透默认的页后phpMyAdmin端口3306,MySQL root账户空密码,台渗透配上XAMPP自带的页后Apache和FileZilla,整套班子就像没锁门的台渗透仓库。我去年帮朋友做安全测试,页后那台机器跑着个老旧的台渗透Joomla站点,XAMPP版本还停在5.6.3,页后结果从发现到拿到webshell,台渗透前后没超过二十分钟。页后

渗透的台渗透起点往往是那个暴露在外的phpMyAdmin。直接访问 /phpmyadmin/,页后如果没改默认路径,台渗透输入root,页后密码留空,回车。进去了就别急着翻数据,先看全局变量里的secure_file_priv。这参数要是空值,意味着MySQL可以往任意目录写文件。用select ... into outfile写个PHP一句话进去,比如:select '' into outfile 'C:/xampp/htdocs/shell.php'。路径得猜准,XAMPP默认web根目录就是C:\xampp\htdocs。写完访问一下,返回200就成。

但现实里人家不一定留空密码。那就转战XAMPP的另一个默认组件——FTP。FileZilla Server默认监听21端口,管理员账户admin的密码也是空的。试着连一下,如果成了,直接往htdocs目录传个打包好的后门。这招比SQL注入直白多了,可偏偏很多运维懒得改这个默认设置。

要是FTP也堵了,还有一条路走——利用Apache的解析漏洞。老版本XAMPP的Apache对`.php.xxx`后缀的文件会直接当PHP执行。你上传一张图片,内容里塞PHP代码,文件名改成`shell.php.jpg`,放在可写目录下,然后访问它,代码就跑了。这招在2017年很流行,现在虽然打了补丁,但那些几年没更新的XAMPP依旧中招。

渗透进去以后,最尴尬的事是提权。XAMPP服务默认跑在SYSTEM权限下,所以拿到的PHP shell直接就是最高权限。写个反弹连接,用nc监听,然后执行system('whoami'),看到NT AUTHORITY/SYSTEM时,你甚至有点失落——太顺了,没挑战性。接着dump SAM文件,或者直接加个管理员账户,远程桌面登进去,全程无压力。

说个真实案例。去年有个客户,内部OA系统跑XAMPP,他们把phpMyAdmin换了个目录,密码也设了强密码,FTP端口改成了2121。但问题出在Apache的配置文件httpd.conf里,他们把DocumentRoot指到了D盘某个共享文件夹。我通过一个SQL注入点,拿到mysql的root密码(这次不是空的),然后用outfile写到那个共享目录,成功绕过web目录限制。进去后发现那台机器连着内网域,直接横向渗透了。

XAMPP这东西,设计初衷是给开发者本地测试用的,压根没考虑过公网部署的安全性问题。它把所有组件默认配置都调成最易用的状态——空密码、默认路径、宽松的目录权限。把这些暴露到公网,等于把钥匙挂在门口。我见过太多小公司为了图省事,直接把XAMPP当生产环境用,还开着防火墙放行80和443端口。

防护其实也就三板斧:改掉所有默认用户名密码、把phpMyAdmin和FTP移到非标准端口并加访问白名单、定期更新XAMPP版本。但现实里,能做到第一条的运维都算勤快的。

分享到: