Phpstorm + phpstudy + Xdebug代码审计环境

写在前面

硬着头皮挖了一些,也算是完成了之前一个月内出cve的任务:
1、YFCMF:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16431
2、SQL in Bluecms1.6:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16432
3、XSS in Semcms:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16433
4、SQL in Semcms:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16434

但想学好代码审计还有很长的路要走,勿忘初心,开始正题~

搭建环境

安装php_xdebug.dll

phpstudy自带各版本的xdebug.dll插件

在相应目录,如5.6.27版本下的在:phpStudy\PHPTutorial\php\php-5.6.27-nts\ext\php_xdebug.dll

配置php.ini

php.ini在相应目录,如5.6.27版本下的在:\phpStudy\PHPTutorial\php\php-5.6.27-nts\php.ini

在Xdebug部分加如下内容:

[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

zend_extension:插件地址
xdebug.remote_port = 9000 : Xdebug监听地址
xdebug.idekey = PHPSTORM: idekey名称(与后面设置对应)

设置php解释器

![](Delete Link
https://i.loli.net/2018/08/25/5b8157cb1f00f.png)

这里我用的是5.6.27版本的

设置xdebug参数

Debug里设置监听地址:

接着设置代理:

配置Debug

运行–>编辑配置

Defaults–>Web Page

新增一个服务端,填写信息如图,要点击应用和确认

回到上级页面后别忘了选择刚才添加的server

浏览器安装debug插件

下面我是使用火狐的插件xdebug-ext进行调试,因为审计用得比较多的就是火狐了插件多

IDE key也要对应上我们的配置:

调试测试

新建一个工程

浏览器开启debug

在需要debug的页面点击右上图标为红色时:

设置断点

phpstorm开启debug

点击右上角的小电话开启,再点左边的绿色甲壳虫图标进行调试

传参后看结果

not found!