Hpdoger's Blog.

Phpstorm + phpstudy + Xdebug代码审计环境

Word count: 514 / Reading time: 2 min
2018/08/25 Share

写在前面

硬着头皮挖了一些,也算是完成了之前一个月内出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部分加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
[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解释器

这里我用的是5.6.27版本的

设置xdebug参数

Debug里设置监听地址:

接着设置代理:

配置Debug

运行–>编辑配置

Defaults–>Web Page

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

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

浏览器安装debug插件

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

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

调试测试

新建一个工程

浏览器开启debug

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

设置断点

phpstorm开启debug

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

传参后看结果

CATALOG
  1. 1. 写在前面
  2. 2. 搭建环境
    1. 2.1. 安装php_xdebug.dll
    2. 2.2. 配置php.ini
    3. 2.3. 设置php解释器
    4. 2.4. 设置xdebug参数
    5. 2.5. 配置Debug
    6. 2.6. 浏览器安装debug插件
  3. 3. 调试测试
    1. 3.1. 新建一个工程
    2. 3.2. 浏览器开启debug
    3. 3.3. 设置断点
    4. 3.4. phpstorm开启debug