0x01 前言

在代码审计中,有些程序用到框架之类的要想去分析一个一个看和输出调试比较麻烦,如今有了xdebug神器,就比较方便了。

0x02 配置过程

php的配置

我是用phpstudy的,所以在php目录下面都会有内置的插件:phpStudy\PHPTutorial\php\php-5.6.27-nts\ext\php_xdebug.dll

如果是其他环境的话可以去官网下载相对应的版本:https://xdebug.org/download.php 然后放在ext目录下面。

然后在php.ini配置文件里面加上以下内容:

[XDebug]
zend_extension="D:\phpStudy\PHPTutorial\php\php-5.6.27-nts\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir="D:\phpStudy\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="D:\phpStudy\PHPTutorial\tmp\xdebug"
xdebug.profiler_output_name = "cache.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM

phpstorm的设置

在phpstorm里面设置:

然后在debug的选项填上我们配置文件里面的端口:

配置proxy端口和IDE key,端口是你网站的端口,IDE key是我们配置文件里面的,应该一致:

然后配置我们的debug配置: 这里和我们网站的信息一样

下面我是使用火狐的插件xdebug-ext进行调试,因为审计用得比较多的就是火狐了插件多哈。 IDE key也要对应上我们的配置:

0x03 测试

这里我用dvwa来测试,我们先打开火狐xdebug-ext,然后打开phpstorm的debug模式,然后随便下个断点:

然后我们访问程序,已经成功断下了: