代码审计 N6 XDebug的配置和使用

Xdebug是一个开放源代码的PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况。

一、主要配置

1.日志

xdebug.trace_output_dir    //日志追踪输出目录

xdebug.trace_output_name    //日志文件名

xdebug.trace_options    //记录添加到文件中的方式:1=追加(如果存在该文件)|| 0(default)=覆盖(如果存在该文件)

2.显示数据

xdebug.collect_params    //非零值=控制function的参数显示选项

    0=不显示

    1=参数类型,值(例:array(9))

    2=同上1,CLI模式略微区别

    3=所有变量内容

    4=所有变量内容和变量名(例如:array(0=>9))

xdebug.collect_return    //1=显示function返回值,Default 0 不显示

xdebug.collect_vars    //1=显示当前作用域使用了哪些变量,显示变量名,该选项不会记录变量值

xdebug.collect_assigments    // 1=添加一行显示变量赋值(若为1,例$a=1;这类 Assignment Experssion会在trace文件里显示)

3.格式

xdebug.trace_format    //日志追踪输出目录


4.行为

xdebug.auto_trace    //1=打开自动追踪

xdebug.trace_enable_trigger    //1=使用XDEBUG_TRACE GET/POST触发追踪,或者通过设置cookie XDEBUG_TRACE.为了避免每次请求时,都会生成相应的trace追踪文件,你需要把auto_trace设置为0


二、我的配置

三、审计方法

访问php文件,会对应生成trace.XXXXXX.xt跟踪日志文件,用Notepad++打开php文件,高亮显示代码,加上


打开phpstudy的php.ini配置文件

查看xdebug

然后刷新访问一下测试的php文件,在xdebug目录发现记录的文件


利用Notepad++打开文件,如图


四、XDebug的黑科技

利用XDebug追踪被加密的源代码时,可以打开追踪日志文件,并搜索关键字passwd/eval函数等,并对特殊字符进行合法转义,即可获得大致流程的源代码。

你可能感兴趣的:(代码审计 N6 XDebug的配置和使用)