php代码审计入门
This_is_Y Lv6

环境配置

环境用的phpstorm+phpstudy2018+xdebug

phpstudy2018

扩展里打开Xdebug
image-20210727194225989

然后打开php的配置文件php.ini,拉到最下面,添加配置信息

1
2
3
4
5
6
7
8
9
xdebug.profiler_output_dir="E:\phpStudy\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="E:\phpStudy\PHPTutorial\tmp\xdebug"
zend_extension="E:\phpStudy\PHPTutorial\php\php-5.4.45\ext\php_xdebug.dll"
xdebug.remote_log = "E:\phpStudy\PHPTutorial\php\php-5.4.45\ext\xdebug\xdebug.log"
xdebug.remote_enable = On
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.idekey=PHPSTORM

image-20210727194409268
扩展文件xdebug.dll,phpstudy默认有,确定路径无误就行,idekey要确保是PHPSTORM,因为xdebug浏览器插件用的就是这个,端口9000,这个也是有用的。
如果配置好了,打开phpinfo,搜索xdebug应该可以看到这个,同时注意IDE Key 是PHPSTORM ,这个东西每次更新,都要重启apache或者nignx(可能)服务器,看不到变化的话,清除缓存或者换个浏览器。

image-20210727194818897

确定插件无误后,给要审计的cms配置一个域名,phpstudy其他选项菜单->站点域名管理
image-20210727212106435

再去host文件里加一条
127.0.0.1 www.bluecms.com
image-20210727212314262

可以ping一下域名,看看生效了没有,没有的话清空一下dns缓存
ipconfig /flushdns

当浏览器可以用域名访问到目标后,就可以开始配置phpstorm了

phpstorm

设置->语言和框架->PHP,选择合适的php解释器
image-20210727210520371

点开php的二级设置,选择服务器,添加一个新服务器,主机写之前配置好的目标域名
image-20210727214628860

选择调试,选择xdebug的端口为9000,和之前php.ini里的对应
image-20210727210630889

点开调试的二级目录,选择DBGp代理,IDE键写PHPSTORM ,主机localhost,端口9000
image-20210727211022795

应用,确定。右上角添加配置,添加一个phpweb页面,服务器选刚刚配置的,起始url保持默认就行,一个*/*
image-20210727214841825

然后点击下面的验证,测试能不能正常工作
image-20210727214927949

正常
现在点击配置旁边的绿色启动按钮就应该会自动打开浏览器访问目标网站了

xdebug

在火狐浏览器的扩展里找到他,添加
image-20210727212747070

修改配置,选择phpstorm,这里就可以看到为什么之前的idekey要写PHPSTORM 了,就是为了要和这个插件这里对应。不然插件没法工作
image-20210727212838148

设置完成之后,phpstorm设置断点,开启监听。
打开网站,把xdebug插件的工作模式改为debug,然后和网站交互,搜索,刷新之类的,就可以在phpstorm监听到信息了,image-20210727213211148image-20210727213225492

 Comments