下载动态调试插件

phpstorm配置


phpstudy 配置



[Xdebug]zend_extension=C:/web/phptdudywww/phpstudy_pro/Extensions/php/php7.4.3nts/ext/php_xdebug.dllxdebug.collect_params=1xdebug.collect_return=1xdebug.auto_trace=Offxdebug.trace_output_dir=C:/web/phptdudywww/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.tracexdebug.profiler_enable=Offxdebug.profiler_output_dir=C:/web/phptdudywww/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.profilerxdebug.remote_enable=Onxdebug.remote_host="10.105.66.20"xdebug.remote_port=90xdebug.remote_handler=dbgpxdebug.idekey=PHPSTORM




-未授权安全挖掘问题1、找鉴权看引用-未引用鉴权逻辑2、找鉴权看脆弱-脆弱的鉴权逻辑3、找鉴权看逻辑-不严谨的鉴权逻辑
#案例1-Xhcms-动态调试-脆弱的鉴权逻辑测试:直接在操作功能下断点发包测试(已登录)找到鉴权文件进行代码分析(能绕过和不能绕过)

首先我们先登入后台,然后找到后台对应的URL路径,找对应的源码的文件




#案例2-Cwcms-动态调试-未引用鉴权逻辑
测试:直接在操作功能下断点发包测试(未登录)
断点获取到说明执行有未授权,获取不到没执行没未授权


首先我们先登入后台,然后找到后台对应的URL路径,找对应的源码的文件
然后再源码文件上方,下个断点,看一下程序接下来,该往哪里走,从而找到鉴权判断逻辑


断点到这里,我们发现此处没办法绕过,我们该怎么绕过呢?我们可以知道,当后台文件包含了这个鉴权的Admin.php 文件才算是鉴权,如果有些后台文件没有包含,是不是就算是没有鉴权操作,从而绕过


未授权访问

https://www.cnvd.org.cn/flaw/show/CNVD-2022-19247


首先我们看登入后首页代码
我们可以看到
classhomeextendsadmin{public functioninit(){global $G;$data['feedback'] = mysql::total('feedback');$data['product'] = mysql::total('product');$data['news'] = mysql::total('news');$data['image'] = mysql::total('image');$data['download'] = mysql::total('download');$data['items'] = mysql::total('items');echo $this->theme('home/home',$data);}}这里继承了 classhomeextendsadminadmin 我们直接 ctrl 长按 + 点击 跳转 到之里

所以说,这个admin.class.php代码总体的验证逻辑,只是说未授权,就会让强制跳转到登录页面,没有强制结束程序操作对吧虽然会让我跳转,但是没有强制结束。所以漏洞点来了,我们知道,当程序在走代码的时候,一般是是从上往下如果一个后台php文件代码,包含了这个有漏洞的鉴权代码,比如在执行一个删除文件的源码,我现在虽然没有权限,这个删除文件的源码,会知道我没有权限,鉴权源码只会让我跳转,不会让我终止,此时我是访问的删除文件的源码,程序没有停止,我是不是会继续执行删除操作从而达到未授权删除文件操作。所以现在就是谁包含了这个鉴权文件,谁就有这个风险



文件删除


