Vulhub-Shellshock Remote Command Injection (CVE-2014-6271)
Shellshock远程命令注入
验证
$ env x='() { :;}; echo vulnerable' bash -c 'echo hello'
在终端中运行上面的命令,如果返回有vulnerable,就说明这台服务器中枪了。
把命令中的bash替换成其他类型的shell,可以检查机器上其他shell是否中枪。
1、准备
准备靶机 一台CentOS 7(192.168.96.222)
启动靶场 docker-compose up -d
用 docker ps 来查看运行的默认端口号,
BurpSuit 抓包、改包
2、介绍 shellshock
- shellshock是 unix 系统下的bash shell的一个漏洞,Bash 4.3以及之前的版本在处理某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行任意的shell命令,甚至完全控制目标系统。
- 目前的Bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以“(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。而其核心的原因在于在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断。
- 执行CGI 时会调用Bash将Referer、host、UserAgent、header等作为环境变量进行处理
3、Vulhub复现
启动靶场后,访问192.168.96.222:80,可以看到访问两个文件,sofe.cgi和victim.cgi,其中 safe.cgi 是最新版 bash 生成的页面,victim.cgi 是 bash4.3 生成的页面。
将 payload 附在 User-Agent 中访问 victim.cgi:
User-Agent: () { foo; }; echo Content-Type: text/plain; echo; /usr/bin/id
改包,发送,是有该漏洞的。
另一个soft.cgi是没有的。
4、漏洞验证
https://www.antiy.com/response/bash.html 参考该文章。
本地验证:
env x='() { :;}; echo Vulnerable CVE-2014-6271 ' bash -c "echo test"
5、漏洞可能会带来的影响
- 此漏洞可以绕过ForceCommand在sshd中的配置,从而执行任意命令;
- 如果CGI脚本用Bash编写,则使用mod_cgi或mod_cgid的Apache服务器会受到影响;
- DHCP客户端调用shell脚本来配置系统,可能存在允许任意命令执行;
- 各种daemon和SUID/privileged的程序都可能执行shell脚本,通过用户设置或影响环境变量值,允许任意命令运行。
Vulhub-Shellshock Remote Command Injection (CVE-2014-6271)相关推荐
- 远程命令执行与代码执行(remote command/code execute)漏洞总结
文章目录 前言: 一.基础知识 1.命令执行漏洞 常用的命令连接符: 2.代码执行漏洞 3.PHP中的危险函数: 二.靶场练习 命令执行: 1.Low级别 2.Medium级别 3.High级别 4. ...
- Data Exfiltration via Blind OS Command Injection
2019独角兽企业重金招聘Python工程师标准>>> On a penetration test or CTF challenge you may come across an a ...
- pikachu RCE(remote command/code execute)(远程命令执行/远程代码执行)(皮卡丘漏洞平台通关系列)
目录 一.官方介绍 二.诚意推荐 三.悠闲通关 第1关 exec "ping" 第2关 exec "eval" 一.官方介绍 本节引用内容来源pikachu漏洞 ...
- PHP命令注入 Command injection
命令注入攻击(Command Injection),是指黑客通过利用HTML代码输入机制缺陷(例如缺乏有效验证限制的表格域)来改变网页的动态生成的内容.从而可以使用系统命令操作,实现使用远程数据来构造 ...
- 高级cmd攻击命令_一步一步学习DVWA渗透测试(Command Injection命令行注入)-第七次课...
各位小伙伴,今天我们继续学习Command Injection,翻译为中文就是命令行注入.是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的.在OWASP TOP 10中一种存在注 ...
- Linux:rsync error: remote command not found (code 127) at io.c(226) [sender=3.1.2
rsync同步数据报错: 问题描述: bash: rsync: command not found rsync: connection unexpectedly closed (0 bytes rec ...
- cmd php 不是内部命令_一步一步学习DVWA渗透测试(Command Injection命令行注入)-第七次课...
各位小伙伴,今天我们继续学习Command Injection,翻译为中文就是命令行注入.是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的.在OWASP TOP 10中一种存在注 ...
- 3.Command Injection——Medium级别测试——小白笔记——DVWA
0x01:Medium测试 1.上源码: Command Injection Source: <?phpif( isset( $_POST[ 'Submit' ] ) ) {// Get inp ...
- Command Injection
Command Injection command injection即命令注入,是指恶意用户通过构造请求,对于一些执行系统命令的功能点进行构造注入,本质上是数据与代码未分离.对于特殊的需求没有对请求 ...
最新文章
- 织梦在哪写html,织梦专题页去.html后缀的方法
- 学习理发去哪里_作为女性,学习运维工程师去哪里好
- QTP的那些事---页面弹出框的处理,页面等待加载的处理
- 如何使用Python创建,读取,更新和搜索Excel文件
- *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
- js空对象undefined
- ajax常见问题汇总(二)
- Java RMI(2):项目中使用RMI
- efl是什么意思_efl
- 特征匹配中OpenCV Dmatch类的用法解析以及非常详细的ORB特征提取与匹配解析
- dede 鼠标移到标题处显示完整标题
- 数学建模——层次分析法模型
- 地址总线/数据总线/控制总线的作用
- 如何用HBuilderX把uni-app项目运行到微信开发者工具上
- 名字中间一条线怎么弄_网名怎么加横线啊 网名中间加一条横线
- 高光谱图像 空间分辨率
- 网站SEO优化核心5要素
- 洛谷P1021邮票面值设计
- Cerc2014 Outer space invaders
- Android10文件管理,10款优秀的Android文件管理器