为什么需要动态调试
在开发的过程中遇到bug的时候很多程序员都会开启debug对代码进行调试从而发现bug的存在,那么在学习代码审计的时候也是可以用到debug对代码进行跟踪调试从而发现更多的安全问题,这次主要还是总结两个编程语言的代码的调试工具与方法,也是安全工作人员最常审计的两个编程语言
PhpStorm调试PHP代码
刚刚开始学习安全漏洞的工作人员,甚至很多的CTF题目,或者一些中小型的web还是存在很多的php代码,所以学习php的动态代码调试也是一件非常重要的事情【所有的语言都在市面上都有一席之地,所以不存在贬低任何一门编程语言,当然现在php肯定没有java火,但是也不代表php 在ctf 或者web 开发这一块毫无是处】
工具
PhpStorm
phpstudy-小皮
Microsoft Edge 浏览器
一、在Microsoft Edge 浏览器 安装插件 xdebug
二、在小皮的php 扩展中配置xdebug
三、配置php pip.ini文件
在小皮的php 扩展中配置xdebug 之后在 php.ini 最后都能看到debug 的相关配置了
[Xdebug]
zend_extension=D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.auto_trace=Off
xdebug.trace_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.trace
xdebug.profiler_enable=Off
xdebug.profiler_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.profiler
xdebug.remote_enable=Off
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_append = 0
;效能检测的设置开关
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
;profiler_enable 设置为1的时候,效能监测信息写入文件所在的目录,可以自定义
xdebug.profiler_output_dir = "E:PHPphpstudy_protmpxdebug"
;设置的函数调用监测信息的输出路径,可以自定义
xdebug.trace_output_dir = "E:PHPphpstudy_protmpxdebug"
;生成的效能监测文件的名称
xdebug.profiler_output_name = "cache.out.%t-%s"
;远程开启 1 表示默认远程开启 0 表示关闭
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
;远程主机地址 这里设置的是我们本地解析的域名
xdebug.remote_host = www.demo.com
;远程自动启动 1 表示开始 0 表示关闭
xdebug.remote_autostart = 1
;远程端口 可自己定义
xdebug.remote_port = 9100
xdebug.idekey = PHPSTORM
四、检查 phpinfo() 里面的key、host、post 看看是否对应上
配置PhpStorm
一、首先在 设置-> 语言&架构 这里选择好php 设置好php 版本
编辑器的版本 要与phpstudy 的php 版本对上
然后配置 编辑器的环境变量,将php 的环境变量给补上 并且下面还会出现xdebug 的版本
完成php 环境配置
然后配置debug 端口一定要对上 php.ini 的端口
配置端口与key,一定要对上 phpinfo 里面的信息
然后配置 运行调试环境
二、配置 server
三、配置完毕后 记得开启监听
然后还要在 浏览器安装xdebug 插件也开启监听
然后鼠标右击打断点
刷新浏览器就可以看出代码走势了
如果要调试cms 之类的话,那么就需要切换 post 之类的传参了,不能单单靠get 传参
原文始发于微信公众号(漏洞404):PhpStorm设置代码调试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论