当我们进行代码审计的时候,必不可少的就是debug。为了后面更加方便清晰的解释漏洞产生的原因和执行流程。特作此篇帮助像我一样的小白更好的学习!
xdebug介绍:Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况
5.4.45-nts + apache
phpstrom, phpstudy安装就不演示了,基本都是下一步下一步(傻瓜式操作)
添加虚拟目录站点
修改本地host文件,cmd执行ipconfig /flushdns
(刷新dns缓存)
测试一下是否能正常解析
这里有两种方式安装扩展,首先说一下我用的方式
XDebug]
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir="C:\phpStudy\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="C:\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"
# 下面三行
zend_extension = "C:\phpStudy\PHPTutorial\php\php-5.4.45-nts\ext\php_xdebug.dll" # 使用自带的
xdebug.remote_autostart=1
xdebug.remote_enable = On
xdebug.remote_port = 2333 # 修改端口,防止冲突
xdebug.idekey="PHPSTORM"
修改完配置文件,记得重启
网上的多数教程的方式
复制phpinfo()
的内容,进入https://xdebug.org/wizard,将刚才复制的内容拷贝进去分析,然后就可以得到当前php版本对应的xdebug文件
# phpinfo.php
<?php phpinfo();?>
.\php.exe -m
php解释器,就是php的执行程序,在安装目录下有个php.exe
ctrl+alt+s
填写相关信息
访问https://addons.mozilla.org/en-US/firefox/addon/xdebug-helper-for-firefox/
进入扩展选项
调试窗口各个区域
F7
通过当前行,进入下一行,如果该行是方法,则进入方法体F8
通过当前行,进入下一行,如果该行是方法,也直接进入下一行,不进入方法体F9
通过整个流程,全部顺序执行