Day108:代码审计-PHP模型开发篇&MVC层&动态调试未授权&脆弱鉴权&未引用&错误逻辑

目录

案例1-Xhcms-动态调试-脆弱的鉴权逻辑

案例2-Cwcms-动态调试-未引用鉴权逻辑

案例3-Bosscms-动态调试-不严谨的鉴权逻辑


知识点:
1、PHP审计-动态调试-未授权安全

2、PHP审计-文件对比-未授权安全

3、PHP审计-未授权访问-三种形态

动态调试优点:

环境配置:https://mp.weixin.qq.com/s/7K8edea8imalZ8_jJp3ODw

  1. 实时跟踪代码执行流程
  2. 实时获取变量接受数据
  3. 实时分析指定文件动态

未授权安全挖掘问题

  1. 找鉴权看引用-未引用鉴权逻辑,没有鉴权
  2. 找鉴权看脆弱-脆弱的鉴权逻辑,鉴权逻辑可绕过
  3. 找鉴权看逻辑-不严谨的鉴权逻辑
    1. 先功能操作,再鉴权,逻辑错误
    2. 先验证鉴权(成功进入功能操作,失败就让其重新鉴权),后功能操作


鉴权,没有exit(),就是第二种情况

案例1-Xhcms-动态调试-脆弱的鉴权逻辑

测试:直接在操作功能下断点发包测试(已登录)
找到鉴权文件进行代码分析(能绕过和不能绕过)

配置动态分析的环境

与 php.ini 对应

前两个不用管

开始分析

newz.php 是后台功能文件

通过包含文件,发现鉴权的逻辑

下断点,开始调试

查看被包含的文件

这样就分析到哪个文件是用来鉴权的,在Cookie里给User一个值即可绕过鉴权

案例2-Cwcms-动态调试-未引用鉴权逻辑

测试:直接在操作功能下断点发包测试(未登录)
断点获取到说明执行有未授权,获取不到没执行没未授权

重复上面的方法,找到鉴权的文件

发现该文件未包含

尝试访问

通过找到鉴权文件,看谁没引用就有问题

直接下断点到功能文件,直接执行功能那就有问题

案例3-Bosscms-动态调试-不严谨的鉴权逻辑

https://www.cnvd.org.cn/flaw/show/CNVD-2022-19247
1、文件对比找入口

鉴权文件:

/system/basic/class/admin.class.php

功能文件:

/system/admin/safe/backup.class.php

判断未登录时通过header进行页面跳转,

但是没有exit()或者die()终止程序运行

2、动态调试未授权操作

直接在操作功能下断点发包测试(已登录和未登录)

断点获取到说明执行有未授权,获取不到没执行没未授权

1.1版本-只判断是不是文件,鉴权跳转

1.3版本-判断文件外加匹配文件名,鉴权跳转加验证

不存在前两种情况

鉴权完后,没有退出,也就是后面代码仍然可以执行

尝试删除文件

文件删除成功!

相关推荐
Hacker_Nightrain34 分钟前
网络安全与加密
安全·web安全
网安墨雨2 小时前
浅谈TARA在汽车网络安全中的关键角色
网络·web安全·汽车
网安-轩逸2 小时前
汽车网络安全渗透测试
安全·web安全·汽车
黑客Jack4 小时前
什么是网络安全审计?
网络·安全·web安全
hking1114 小时前
upload-labs关卡记录5
web安全·php
网络安全queen5 小时前
【D03】SNMP、NETBIOS和SSH
运维·网络·web安全·ssh
士别三日wyx6 小时前
HW护网分析研判思路,流量告警分析技巧
安全·web安全·网络安全
茶颜悦色vv8 小时前
Wireshark(1)
网络·web安全·网络安全·wireshark
纯净的灰〃8 小时前
vulnhub-matrix-breakout-2-morpheus
安全·web安全·网络安全
Hacker_Oldv10 小时前
iptables网络安全服务详细使用
网络·安全·web安全