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

本文主要是介绍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版本-判断文件外加匹配文件名,鉴权跳转加验证

不存在前两种情况

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

尝试删除文件

文件删除成功!

这篇关于Day108:代码审计-PHP模型开发篇MVC层动态调试未授权脆弱鉴权未引用错误逻辑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/885793

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

动态规划---打家劫舍

题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 思路: 动态规划五部曲: 1.确定dp数组及含义 dp数组是一维数组,dp[i]代表

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来