系统说明
macOS M1,2020,Arm64架构,venture版本
环境搭建
代码审计分为静态分析和动态分析。
静态分析:不运行PHP代码的情况下,对PHP源码进行查看分析,从中找出可能存在的缺陷和漏洞。
动态分析:将PHP代码运行起来,通过观察代码运行的状态,如变量内容、函数执行结果等,达到明确代码流程,分析函数逻辑等目的,并从中挖掘出漏洞。
下面的软件部署均为动态分析。
mamp pro
安装PHP一键集成环境,使用的软件是mamp pro,通用也可以使用phpstudy等。
软件下载:
链接: https://pan.baidu.com/s/1V6-iMyqhLkgh8z08xx0T5g?pwd=k4v7 提取码: k4v7
–来自百度网盘超级会员v6的分享
DMG、zip统一打开密码:
xclient.info
- 如遇:
「xxx.app已损坏,打不开。你应该将它移到废纸篓」
,请参考:《新手常见问题》中“下载好的DMG 打不开”第二项中内容;如果仅是部分TNT软件闪退打不开,参考《修复TNT和谐软件闪退问题》
Xdebug
安装好PHP后,需要安装Xdebug,用于动态分析的扩展。
从官网安装的方式:
在官网下载合适自己平台的版本,
https://xdebug.org/download.php
。安装过程:
访问
https://xdebug.org/wizard.php
,然后在浏览器中访问本地环境的phpinfo页面,把phpinfo的全部输出内容粘贴到wizard中,点击分析,会获得安装指南。
适用mamp pro的话,可以直接从软件中,安装xdebug插件。
mamp的其他配置如下👇
PHP配置和xdebug配置信息
找到php8.2.0.ini
设置一下ide key
检验xdebug是否配置成果
启动服务,点击webstart,进入页面后点击phpinfo,搜索xdebug。
搜得到,且能看到idekey,配置成功
PHPSTORM 配置
Mamp pro已经选择了工作目录,运行起来。然后在phpstorm里打开该工作目录,会有一个index.php。进入配置
PHP配置如图,自己看👇
debug配置如图👇
IDE key就是上面xdebug设置的那个
servers配置👇
run/debug configuration
1⃣️ 👇
2⃣️ 点击➕,添加php web page,配置如下👇
运行调试
设置断点
在那一行的前面点一下
运行
先点一下debug的小虫子,会弹出页面。
再点一下电话,开启监听。最后点击运行,rerun。最终显示调试信息
结束运行时,关掉监听,停止运行。
Firefox xdebug插件
为了调试过程更顺利,可以使用firefox的插件。
配置idekey,和前面保持一致
安装插件后运行
firefox访问http://localhost:8888/MAMP/phpinfo.php
,打开xdebug
然后在phpstorm,打开电话监听,点击网页中的功能部分,会自动跳到phpstorm中的断点位置。