一、前言
闲来无事,在用Goby写poc时候咨询了Goby的师傅,发现能对历史漏洞查重(查看Goby收录了什么漏洞,以免你写poc重复),但是这个功能还有另外的妙用,可以拿来配合漏洞复现。
例如查询关键字金和,可以查看收录的金和oa漏洞。而漏洞名称是以产品-漏洞触发点-漏洞类型命名的,结合代码审计可以反推漏洞。
二、思路历程
漏洞一号
看收录时间,2024年收录了4个金和oa漏洞,其中金和oa C6的漏洞占3个,第一个漏洞全网都不到poc
来看第一个标题
挺实诚的路径都告诉你了:“/C6/Jhsoft.Web.module/eformaspx/H5Bill.aspx"
看下H5Bill.aspx文件,显示继承了方法WebBill.WebBill
findstr搜索一下方法名称所在dll文件
这个名称为H5Bill的方法
作用是读取xml文件信息然后查询数据库信息,没有上传文件的地方,暂时放弃
但是根据我一顿互联网的搜索排查,我找到了某个Wiki上记载的/C6/Jhsoft.Web.module/eformaspx上传路径
写的很简略,来分析下。首先漏洞位置为editeprint.aspx,方法中传参KeyCode,并转换url编码
之后传参filename,如果解码KeyCode之后和filename不一致,则报错文件不匹配
像这样的情况,filename随便写就会报错文件不匹配
之后调用returnXml方法,带入参数为传参的值key
如果key等于writefile,则调用writefile方法
写入内容到文件中,在文件开头加入了<?xml version="1.0" encoding="gb2312"?>
用Wiki中的Payload来测试下:
GET /C6/Jhsoft.Web.module/eformaspx/editeprint.aspx?key=writefile&filename=1.ashx&KeyCode=sxfZyQBw8yQ=&designpath=/c6/&typeid=&sPathfceform=./ HTTP/1.1 Host: X.X.X.X 123
返回显示长度不小于0
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022