web 开发全局覆盖文件上传身份验证漏洞利用

news2025/1/4 23:15:07

全局覆盖

首先认识全局变量和局部变量

再一个就是知道全局变量是全局使用的并且有个特点就是可以覆盖

这个就是全局变量我们输出一下发现 z居然等于函数内的计算值  把我们原来定义的全局变量 $z给覆盖了   看一下局部变量  

这个时候 z就不会被覆盖

<?php 
$x=1;
$y=2;
$z=4;
function add(){
    //全局变量的覆盖 : 声明的全局 'z'  让整个程序都可以运行
    $GLOBALS['z']=$GLOBALS['x']+$GLOBALS['y'];   //这里我们声明了一个全局变量

};
//   这里有个知识点就是  $$ 这个来声明全局变量
// $x='555';
// $b='2';
// $$x='3333';
// echo $b;

function add1(){
 #局部变量
 $z=2+3;
 #
}


add();
add1();
echo $z

// globals 的声明把我们的定义给覆盖了

那这个覆盖函数就是         GLOBALS       (声明全局变量)

那可能说 全局变量覆盖有个鸟用啊              假如对方调用了这个全局变量a  函数  并且变量是可控的 

如果这个时候有个waf是 只有a==1才能进入后台 那我们是不是就可以重新输入一个全局变量来覆盖他原有的逻辑从而进入后台(越权)

身份验证

身份验证之前需要了解 数据传输的几种模式

<?php

$r=@$_REQUEST['x'];      //request 接受所以得数据包     //@是容错符号 让其不报错
$g=@$_GET['y'];         
$p=@$_POST['z'];
$c=$_COOKIE['a'];


echo $_SERVER['HTTP_HOST'].'<hr>';
//这种超全局变量保存关于报头、路径和脚本位置的信息  获取客户的信息


echo $r.'<hr>';
echo $g.'<hr>';
echo$p.'<hr>';
echo $c.'<hr>';

cookie传输需要进行抓包修改

身份验证函数 : 1、cookie(前端的验证  当会话结束时 他不会消失  知道我们指定他的时间结束他才消失)

2、session(服务端的验证  会话结束 session就会被清除 (或者是服务器定时的清除))

<?php
// $a='xiaodisec';
// setcookie('user',$a,time()+3600);
//cookie的堆叠   我们的cookie没有设置但是 因为时间的限制 浏览器会在本地储存下我们的cookie  以便下次使用
$username=$_COOKIE['username'];
setcookie("username",$username.'gay',time()+3600*5);



// session_start();   //session的调用要 先开启这个
// $_SESSION['username']='kongde_username';
// echo "welcome,".$_SESSION['username']."!<br>";

sever函数的用法

看一下cookie 的长时间存在可以造成 堆叠

第一次cookie抓包

第二次

这个就是告诉我们cookie是时间性的

看一下session

这个session 会存储在本地的服务器

文件上传

涉及一个函数   $_Files  这个函数是专门读取文件的 

<form action="" method="post" enctype="multipart/form-data"><input type="file" name="file_upload"><button type="submit">上传</button></form>
<!-- 
action 留空表示传给自己 -->
<?php
$file_name=$_FILES['file_upload']['name'];    //表示html上的文件名 加上临时的文件名
$file_type=$_FILES['file_upload']['type'];
$file_size=$_FILES['file_upload']['size'];
$file_tepname=$_FILES['file_upload']['tmp_name'];

echo $file_name;

文件的上传 

上传之后会显示名字

漏洞利用 

这个是全局变量覆盖的一个漏洞   主要 的 考点就是 如何 进行白盒的代码审计  了解漏洞的形成和基本的情况

先看漏洞的利用再看payload是怎么来的

直接进入后台了 

/interface/comment.php?_SESSION[duomi_admin_id]=10&_SESSION[duomi_group_id]=1&_SESSION[duomi_admin_name]=zmh(后边的name是可以随便写)

先看为什么使用  comment.php

这里包含了一个  common.php  

在common中找到了一个这个 

foreach 遍历

举一个这个 get的例子

_get 进入循环之后   变为了   $_GET   这个$_GET 就变为了 一个全局的变量

那我们知道为什么写这个 comment.php 了 就是因为他可以调用全局变量 

那其实我们可以使用别的包含这个文件的进行

这个desktop.php 也包含了配置文件那我们试一下  

/interface/desktop.php?_SESSION[duomi_admin_id]=10&_SESSION[duomi_group_id]=1&_SESSION[duomi_admin_name]=zmh

发现你妹的什么情况怎么给下东西了  打开看一下

没线索 想一想我们学的   session是不是要有  start session  才能进行啊  这不就吻合了嘛

再运行 发现可以进入

那就来逻辑了   现在再需要弄清

interface/desktop.php?_SESSION[duomi_admin_id]=10&_SESSION[duomi_group_id]=1&_SESSION[duomi_admin_name]=zmh

session的值是什么情况

追踪一下(因为有个细节就是 这个 location  重定向到 这个 login.php)

发现id的定义就是获取  用户的id

正好这里定义的三个分别是  用户名  用户id和组id

所以最后的payload  可以是interface/desktop.php?_SESSION[duomi_admin_id]=1&_SESSION[duomi_group_id]=1&_SESSION[duomi_admin_name]=1   (让他们都是1   __SESSION[duomi_group_id]=1 经过  $$  自动变为全局变量 $__SESSION[duomi_group_id]=1 而产生的漏洞 )  

这个就是这个越权漏洞的利用  如果换到现实中就需要进行反向  我们现在这个是逆向的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2269586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day3 微服务 微服务保护(请求限流、线程隔离、服务熔断)、Sentinel微服务保护框架、分布式事务(XA模式、AT模式)、Seata分布式事务框架

目录 1.微服务保护 1.1.服务保护方案 1.1.1 请求限流 1.1.2 线程隔离 1.1.3 服务熔断 1.2 Sentinel 1.2.1.介绍和安装 1.2.2 微服务整合 1.2.2.1 引入sentinel依赖 1.2.2.2 配置控制台 1.2.2.3 访问cart-service的任意端点 1.3 请求限流 1.4 线程隔离 1.4.1 OpenFeign整合Senti…

使用 TensorFlow 打造企业智能数据分析平台

文章目录 摘要引言平台架构设计核心架构技术栈选型 数据采集与预处理代码详解 数据分析与预测代码详解 数据可视化ECharts 配置 总结未来展望参考资料 摘要 在大数据时代&#xff0c;企业决策正越来越依赖数据分析。然而&#xff0c;面对海量数据&#xff0c;传统分析工具常因…

计算机毕业设计Python动漫推荐系统 漫画推荐系统 动漫视频推荐系统 机器学习 bilibili动漫爬虫 数据可视化 数据分析 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

单北斗露天矿山人员车辆定位方案

你好&#xff0c;我是北京华星智控小智&#xff0c;我来给您介绍我公司的矿山人员定位系统。我们的露天矿山人员定位系统基于北斗技术&#xff0c;主要用于矿山人员和车辆的定位。 我们的矿山人员车辆定位设备主要有图上的3种&#xff0c;1是车辆定位的车载终端&#xff0c;他…

Gitlab17.7+Jenkins2.4.91实现Fastapi/Django项目持续发布版本详细操作(亲测可用)

一、gitlab设置&#xff1a; 1、进入gitlab选择主页在左侧菜单的下面点击管理员按钮。 2、选择左侧菜单的设置&#xff0c;选择网络&#xff0c;在右侧选择出站请求后选择允许来自webhooks和集成对本地网络的请求 3、webhook设置 进入你自己的项目选择左侧菜单的设置&#xff…

java项目之高校心理教育辅导系统的设计与实现(springboot+mybatis+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的闲一品交易平台。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 高校心理教育辅导系统的设…

Cesium 实战 27 - 三维视频融合(视频投影)

Cesium 实战 27 - 三维视频融合(视频投影) 核心代码完整代码在线示例在 Cesium 中有几种展示视频的方式,比如墙体使用视频材质,还有地面多边形使用视频材质,都可以实现视频功能。 但是随着摄像头和无人机的流行,需要视频和场景深度融合,简单的实现方式则不能满足需求。…

MAC系统QT图标踩坑记录

MAC系统QT图标踩坑记录 1. 准备图标1.1 方法一&#xff1a;下载准备好的图标1.2 方法二&#xff1a;自己生成图标1.2.1 准备一个png文件1.2.2 用sips生成不同大小的图片1.2.3 用iconutil生成图标文件 2. 配置图标2.1. 把图标改命成自己想要的名字&#xff0c;如icon.icns&#…

ARM64 Windows 10 IoT工控主板运行x86程序效率测试

ARM上的 Windows 10 IoT 企业版支持仿真 x86 应用程序&#xff0c;而 ARM上的 Windows 11 IoT 企业版则支持仿真 x86 和 x64 应用程序。英创推出的名片尺寸ARM64工控主板ESM8400&#xff0c;可预装正版Windows 10 IoT企业版操作系统&#xff0c;x86程序可无需修改而直接在ESM84…

汽车损坏识别检测数据集,使用yolo,pasical voc xml,coco json格式标注,6696张图片,可识别11种损坏类型,识别率89.7%

汽车损坏识别检测数据集&#xff0c;使用yolo&#xff0c;pasical voc xml&#xff0c;coco json格式标注&#xff0c;6696张图片&#xff0c;可识别11种损坏类型损坏&#xff1a; 前挡风玻璃&#xff08;damage-front-windscreen &#xff09; 损坏的门 &#xff08;damaged-d…

西门子1200PLC和三菱FX3系列PLC接线方法

1、西门子1200PLC接线方法。* 2、从三菱官方手册查询得知&#xff0c;S/S公共端有两种接法&#xff0c;但是为了与西门子1200接法保持一致&#xff0c;所以也建议采用S/S公共点0V的接法。 **【总结】 三菱输入端采用公共点接0V接法建议提升至公司内部标准规范&#xff1a; …

一文理清JS中获取盒子宽高各方法的差异

前言 这段时间在研究一个反爬产品&#xff0c;环境检测用到了很多个盒子宽高取值方法&#xff0c;如window.outerWidth、window.screen.availWidth&#xff0c;各个方法取值结果不大相同&#xff0c;在此记录下遇到的方法。 各宽方法区别 这里就讲解下各宽度方法的区别&…

AWVS安装使用教程

一、AWVS工具介绍及下载 AWVS工具介绍 AWVS&#xff08;Acunetix Web Vulnerability Scanner&#xff09;是一款知名的网络漏洞扫描工具&#xff0c;它通过网络爬虫测试你的web站点&#xff0c;检测流行安全漏洞&#xff0c;可以检查SQL注入漏洞&#xff0c;也可以检查跨站脚…

用Python操作字节流中的Excel文档

Python能够轻松地从字节流中加载文件&#xff0c;在不依赖于外部存储的情况下直接对其进行读取、修改等复杂操作&#xff0c;并最终将更改后的文档保存回字节串中。这种能力不仅极大地提高了数据处理的灵活性&#xff0c;还确保了数据的安全性和完整性&#xff0c;尤其是在网络…

【LeetCode】928、尽量减少恶意软件的传播 II

【LeetCode】928、尽量减少恶意软件的传播 II 文章目录 一、并查集1.1 并查集 二、多语言解法 一、并查集 1.1 并查集 先把普通点, build 并查集遍历每个源头点, 找源头点附近的点所在的集合, 传染该集合拯救节点 3.1 若该节点 所在集合, 从未被感染过, 则开始感染 3.2 若该节…

(NDSS2024)论文阅读——仅低质量的训练数据?用于检测加密恶意网络流量的稳健框架

文章基本信息 作者&#xff1a;Yuqi Qing et al. &#xff08;清华大学李琦团队&#xff09; 代码 文章 摘要 存在问题&#xff1a;收集包含足够数量的带有正确标签的加密恶意数据的训练数据集是具有挑战性的&#xff0c;当使用低质量的训练数据训练机器学习模型时&#xff…

如何将CSDN文章 导出为 PDF文件

一、首先&#xff0c;打开我们想要导出为 PDF格式的 CSDN文章&#xff0c;以下图为例。 二、按 F12 调出浏览器调式模式后&#xff0c;选择 控制台 三、在控制台处粘贴代码 代码&#xff1a; (function(){ use strict;var articleBox $("div.article_content"…

YApi接口管理平台本地搭建方法介绍

YApi是一个免费开源的API管理平台&#xff0c;开发人员可用它来管理、调试接口&#xff0c;并且提供了API文档管理和测试功能&#xff0c;具有友好的UI页面&#xff0c;本文介绍Linux环境如何安装部署YApi接口管理平台。 目录 1 环境准备2 安装部署2.1 安装nodejs2.2 安装 Mong…

案例分析-采样率对模拟链路的带宽的影响

目录 问题来源: 情况分析: 总结 问题来源: 在进行模拟带宽调整时,发现设计值 与实测值,不一样,就这一问题,进行详细分析。 情况分析: 在本项目中,采用巴特沃兹四阶滤波器,设计带宽350M,改滤波器设计可以采用fiter solution工具进行设计,实测值仅仅260M,因此针…

Huggingface Trending!可控人物图像生成统一框架Leffa,可精确控制虚拟试穿和姿势转换!

今天给大家介绍一个Huggingface上虚拟试穿的热门项目Leffa&#xff0c;Leffa是一个可控人物图像生成的统一框架&#xff0c;可以精确操纵外观&#xff08;即虚拟试穿&#xff09;和姿势&#xff08;即姿势转换&#xff09;。从效果看生成效果很不错&#xff01; 相关链接 论文&…