BT+Xdebug+VScode的远程PHP审计环境
参考国光师傅的Xdebug+宝塔+PHPStudy+VScode PHP搭建的审计环境
出于不想影响本机环境的原因,搭建远程审计环境
1 lin宝塔
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
内网面板地址: http://172.16.72.210:8888/5fb12afc
username: lhvt8oeo
password: 98f0094b
安装好amp环境
2 Xdebug
「软件商店」-「对应的 PHP 版本」-「设置」-「安装扩展」-「xdebug」-「安装」
「软件商店」-「对应的 PHP 版本」-「设置」-「配置文件」
末尾添加
zend_extension=/www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so
; 开启远程调试功能
xdebug.remote_enable=1
; 远程调试地址
xdebug.remote_host=localhost
; 远程调试端口
xdebug.remote_port=9000
; 每次执行脚本都会启动 xdebug 调试
xdebug.remote_autostart = 1
; 每次请求都会生成一个性能报告文件
xdebug.profiler_enable = 1
; 在 IDE 上等待确认传入调试连接以的时间(毫秒)
xdebug.remote_timeout=2000
; debug 调试的日志位置
xdebug.remote_log = /tmp/xdebug.log
验证
设置请求时间
默认配置的话,如果我们编辑器一直处于 Debug 状态,这个时候浏览器访问的网站就会超时出现 502 的错误,这是因为我们 PHP Debug 的时间太长了,浏览器因为服务器挂掉了,所以我们需要配置一下,增加 PHP Debug 的等待时间,下面以宝塔面板自带的 PHP 5.6 版本为例,只需要编辑如下文件:
vim /www/server/php/56/etc/php-fpm.conf
request_terminate_timeout = 0
3 vscode
安装phpdebug和remote-ssh拓展
连接远程服务器
连接上后,还需在远程服务器上安装phpdebug拓展,拓展栏处会提示安装
验证
写一段代码
<?php
error_reporting(0);
function add($x,$y)
{
$total=$x+$y;
return $total;
}
$a = $_REQUEST['a'];
$b = $_REQUEST['b'];
if(isset($a) && isset($b)){
echo "$a + $b = " . add($a,$b);
}else{
echo "www.sqlsec.com";
}
?>
加上断点,点击调试栏左上角listen for xdebug后访问页面
远程调试成功