目录
一、安全开发 - PHP - 超全局变量
开发工具及环境
- DW (Dreamweaver):用于开发 HTML、CSS 和 JavaScript。
- PHPStorm:专业的PHP开发集成环境。
- PhpStudy:集成Apache和MySQL环境,方便快速搭建服务器。
- Navicat Premium:支持多种数据库管理的全能工具。
变量覆盖安全
$GLOBALS:这种全局变量用于在PHP脚本中的任意位置访问全局变量
数据接收安全
$REQUEST:$REQUEST 用收集 HTML 表单提交的数据。
$_POST:广泛用于收集提交method="post" 的HTML表单后的表单数据。
$_GET:收集URL中的发送的数据。也可用于提交表单数据(method="get")
$_ENV:是一个包含服务器端环境变量的数组。
$_SERVER:这种超全局变量保存关于报头、路径和脚本位置的信息。
文件上传安全
$_FILES:文件上传且处理包含通过POST方法上传给当前脚本的文件内容。
身份验证安全
$_COOKIE:是一个关联数组,包含通过cookie传递给当前脚本的内容。
本地客户端浏览器存储
$_SESSION:是一个关联数组,包含当前脚本中的所有session内容。
目标服务端存储,存储记录的数据
二、 WEB开发-原生PHP-代码审计案例
代码审计应用
代码审计步骤与案例分析
-
变量覆盖过程漏洞 - DuomiCMS
审计过程:- 查找指标覆盖代码:找到可以被覆盖的关键指标(如
$_SESSION
)。 - 分析调用逻辑:确定漏洞代码被调用的路径和条件。
- 利用覆盖漏洞:通过覆盖会话变量实现权限提升(如管理员登录)。
漏洞示例:
利用以下URL强制覆盖会话变量:虚拟网络
https://example.com/interface/comment.php?_SESSION[duomi_admin_id]=10&_SESSION[duomi_group_id]=1&_SESSION[duomi_admin_name]=admin
建议:
- 禁止直接递送敏感病例。
- 对确定数据进行严格的白名单验证和过滤。
- 查找指标覆盖代码:找到可以被覆盖的关键指标(如
-
任何文件上传漏洞 - YcCMS
审计流程:- 查找文件上传代码:分析上传功能是否存在绕过机制。
- 分析调用逻辑:检查文件过滤和存储机制。
- 利用MIME类型绕过:通过伪造文件MIME类型绕过验证加载脚本。
1、DuomiCMS变量覆盖
找变量覆盖代码->找此文件调用->
选择利用覆盖Session->找开启Session文件覆盖
参考:https://blog.csdn.net/qq_59023242/article/details/135080259/interface/comment.php?_SESSION[duomi_admin_id]=10&SESSION[duomi_group_id]=1&SESSION[duomi_admin_name]=zmh
2、YcCms任意文件上传
找文件上传代码->找此文件调用->找函数调用->过滤type用mime绕过
参考:https://zhuanlan.zhihu.com/p/718742254?a=call&m=upLoadsend
标签:Web,小迪,覆盖,文件,代码,第一课,SESSION,PHP,上传 From: https://blog.csdn.net/2401_86628519/article/details/144935687