代码审计之PhpStorm环境搭建

admin 2022年5月20日19:08:17代码审计评论17 views892字阅读2分58秒阅读模式

代码审计之PhpStorm环境搭建

大家做代码审计时,如果流程太复杂时,总有一些不便,那我们就可以利用如PhpStorm进行debug,根据代码的运作顺序来更加方便的审计相关漏洞。


首先在php.ini添加debug参数,默认监听本地9000端口,记得修改其中的so路径,windows需要在https://xdebug.org/download.php上面下载dll


[xdebug]

zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so

xdebug.remote_autostart=on

xdebug.remote_enable=on

xdebug.remote_enable=1

xdebug.remote_mode="req"

xdebug.remote_log="/var/log/xdebug.log"

xdebug.remote_host="127.0.0.1"

xdebug.remote_port=9000

xdebug.remote_handler="dbgp"

xdebug.idekey="PHPSTORM"


安装Phpstorm并且配置debug环境

代码审计之PhpStorm环境搭建

代码审计之PhpStorm环境搭建

这里的ide key和上面的配置文件里面写的要一样

代码审计之PhpStorm环境搭建

新增php web page

代码审计之PhpStorm环境搭建

chrome/firefox都行安装debug扩展,记得安装完以后扩展里面的key要和上面的一致

代码审计之PhpStorm环境搭建

开启debug

代码审计之PhpStorm环境搭建

代码审计之PhpStorm环境搭建


这里我以dvwa为例

先断点

代码审计之PhpStorm环境搭建

在我们进行文件上传时停在了断点处

代码审计之PhpStorm环境搭建

代码审计之PhpStorm环境搭建

很清晰看到文件上传到哪了

代码审计之PhpStorm环境搭建


PS:

接下来我们再看个有趣的点,这里我们的文件在还没到uploads目录的时候先出现在了缓存目录

代码审计之PhpStorm环境搭建

代码审计之PhpStorm环境搭建

代码审计之PhpStorm环境搭建

但是上传到uploads目录以后缓存文件就不存在了

代码审计之PhpStorm环境搭建

也就是说我们可以在上传的时候进行条件竞争,包含缓存文件达到getshell的目的。

首先我们来看怎么获取到缓存目录的路径,我们只要进行文件上传操作时,都会生成缓存文件,然后路径实际上会在phpinfo上显示出来

代码审计之PhpStorm环境搭建

也就是说我们可以想到一个场景,一个phpinfo泄漏+文件包含=getshell


原文始发于微信公众号(中国白客联盟):代码审计之PhpStorm环境搭建

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月20日19:08:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  代码审计之PhpStorm环境搭建 http://cn-sec.com/archives/783327.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: