2024小迪安全Web开发第一课

 

目录

一、安全开发 - PHP - 超全局变量

变量覆盖安全

数据接收安全

文件上传安全

身份验证安全

二、 WEB开发-原生PHP-代码审计案例

代码审计应用


一、安全开发 - PHP - 超全局变量

开发工具及环境

  • DW (Dreamweaver):用于开发 HTML、CSS 和 JavaScript。
  • PHPStorm:专业的PHP开发集成环境。
  • PhpStudy:集成Apache和MySQL环境,方便快速搭建服务器。
  • Navicat Premium:支持多种数据库管理的全能工具。

参考:PHP 教程 - 编程笔记

变量覆盖安全

$GLOBALS:这种全局变量用于在PHP脚本中的任意位置访问全局变量

数据接收安全

$REQUEST:$REQUEST 用收集 HTML 表单提交的数据。

$_POST:广泛用于收集提交method="post" 的HTML表单后的表单数据。

$_GET:收集URL中的发送的数据。也可用于提交表单数据(method="get")

$_ENV:是一个包含服务器端环境变量的数组。

$_SERVER:这种超全局变量保存关于报头、路径和脚本位置的信息。

文件上传安全

$_FILES:文件上传且处理包含通过POST方法上传给当前脚本的文件内容。

身份验证安全

$_COOKIE:是一个关联数组,包含通过cookie传递给当前脚本的内容。

本地客户端浏览器存储

$_SESSION:是一个关联数组,包含当前脚本中的所有session内容。

目标服务端存储,存储记录的数据

二、 WEB开发-原生PHP-代码审计案例

代码审计应用

代码审计步骤与案例分析

  1. 变量覆盖过程漏洞 - DuomiCMS
    审计过程

    • 查找指标覆盖代码:找到可以被覆盖的关键指标(如$_SESSION)。
    • 分析调用逻辑:确定漏洞代码被调用的路径和条件。
    • 利用覆盖漏洞:通过覆盖会话变量实现权限提升(如管理员登录)。

    漏洞示例
    利用以下URL强制覆盖会话变量:

    虚拟网络https://example.com/interface/comment.php?_SESSION[duomi_admin_id]=10&_SESSION[duomi_group_id]=1&_SESSION[duomi_admin_name]=admin 

    建议

    • 禁止直接递送敏感病例。
    • 对确定数据进行严格的白名单验证和过滤。
  2. 任何文件上传漏洞 - 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值