首页 > 其他分享 >2024小迪安全Web开发第一课

2024小迪安全Web开发第一课

时间:2025-01-05 15:03:17浏览次数:3  
标签:Web 小迪 覆盖 文件 代码 第一课 SESSION PHP 上传

 

目录

一、安全开发 - 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

标签:Web,小迪,覆盖,文件,代码,第一课,SESSION,PHP,上传
From: https://blog.csdn.net/2401_86628519/article/details/144935687

相关文章

  • 在 Web 端使用矢量图标
    记录在Web端使用矢量图标的步骤,工具:iconfont-阿里巴巴矢量图标库。添加图标在图标库中挑选需要的图标,点击“购物车”添加入库。选择完毕后,打开“购物车”,将所有图标“添加至项目”。生成JS文件在项目中查看,选择Symbol方式,打开在线链接,然后在下方生成“......
  • 房屋租赁合同管理系统|SSM+JSP架构|JavaWeb【源码+数据库文件】
    代码提供有偿远程调试,包启动成功!不管你有没有运行环境,哪怕你是刚买的新电脑,也包启动运行成功!提供有偿讲解,有不懂的地方随便问!问到会为止!源码获取:【功能介绍】主要功能有:房源信息:房源列表,添加房源租赁及合同信息:在租列表,已退租列表申请列表:看房申请,退租申请报障模块......
  • zenoh webserver SUB 的一个bug
    此问题在1.0.0中存在,1.0.1已经解决了,重新替换插件就可以了,老版本sub对于如下格式的不能生效<keey_expre>?_method=SUB参考资料https://github.com/eclipse-zenoh/zenoh-plugin-webserverhttps://github.com/eclipse-zenoh/zenoh-plugin-webserver/issues/211......
  • 浏览器本地存储 WebStorage包括localstorage sessionstorage
    一、概念浏览器端通过sessionstorage和localstorage属性来实现本地存储 二、相关API//设置,keyvalue,key若存在,则则更新value,value为字符串,需要使用JSONlocalStorage.setItem('msg','Hello')sessionStorage.setItem('msg','Hello')//获取value,根据key,value是字符串,......
  • 2024小迪安全信息收集第十课
    目录一、自动化-网络空间-Yakit&TScanPlus#自动化-网络空间-Yakit&TscanPlus二、自动化-移动资产-ENScan_Go#自动化-企查信息-ENScan三、自动化-综合管理-ARL&Nemo&TestNet#自动化-综合架构-ARL&Nemo&TestNet-ARL灯塔-Nemo_Go-Testnet四、自动化-环境部署-F8x#自动......
  • Stable Diffusion秋叶WebUI V4.8安装包下载
    这款整合包可以一键在本地部署StableDiffusion!!适用于零基础想要使用AI绘画的小伙伴~秋叶整合安装包安装教程如果你的电脑时第一次安装,需要先下载启动器运行依赖,安装依赖后,再解压sd-webui-aki-v4文件夹。第一个文件夹里面是模型,根据需求选择性下载。解压sd-webui-a......
  • python-selenium(2、初识webdriver)
    首先需要了解的是webdriver是浏览器对象,顾名思义学过Java的应该会懂面向对象的思想。fromseleniumimportwebdriverdriver=webdriver.Chrome()#打开浏览器driver.get("https://www.baidu.com")#打开百度el=driver.find_element("xpath","//*[@id='s-top-left']/a......
  • Webstorm 2024 安装激活详细使用教程(激活至2026,实测是永久,亲测!)
    开发工具推荐:Webstorm安装激活详细使用教程(激活至2026,实际上永久,亲测!)申明:本教程Webstorm补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版!Webstorm是JetBrains公司推出的一款功能强大的JS集成开发环境(IDE),凭借其丰富......
  • 搭建一个基于Web的文档管理系统,用于存储、共享和协作编辑文档
    搭建一个基于Web的文档管理系统,用于存储、共享和协作编辑文档,可以遵循以下步骤和考虑因素:一、系统规划与设计需求分析:明确系统需要支持的功能,如文档上传、下载、编辑、共享、权限管理、版本控制等。确定用户群体和规模,以便选择合适的服务器和数据库。技术选型:......
  • 可能是GitHub star星最多的Golang Web框架-Gin初识
    对比目前主流GolangWeb框架对比名称描述star数量GinGin是用Go(Golang)编写的HTTPWeb框架。它具有类似Martini的API,性能要好得多-速度提高了40倍。79.6kFiber用Go编写的受Express启发的Web框架34.4kBeegobeego是一个用于Go编程语言的......