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

  1. shellshock是 unix 系统下的bash shell的一个漏洞,Bash 4.3以及之前的版本在处理某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行任意的shell命令,甚至完全控制目标系统。
  2. 目前的Bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以“(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。而其核心的原因在于在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断。
  3. 执行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、漏洞可能会带来的影响

  1. 此漏洞可以绕过ForceCommand在sshd中的配置,从而执行任意命令
  2. 如果CGI脚本用Bash编写,则使用mod_cgi或mod_cgid的Apache服务器会受到影响;
  3. DHCP客户端调用shell脚本来配置系统,可能存在允许任意命令执行;
  4. 各种daemon和SUID/privileged的程序都可能执行shell脚本,通过用户设置或影响环境变量值,允许任意命令运行。

Vulhub-Shellshock Remote Command Injection (CVE-2014-6271)相关推荐

  1. 远程命令执行与代码执行(remote command/code execute)漏洞总结

    文章目录 前言: 一.基础知识 1.命令执行漏洞 常用的命令连接符: 2.代码执行漏洞 3.PHP中的危险函数: 二.靶场练习 命令执行: 1.Low级别 2.Medium级别 3.High级别 4. ...

  2. Data Exfiltration via Blind OS Command Injection

    2019独角兽企业重金招聘Python工程师标准>>> On a penetration test or CTF challenge you may come across an a ...

  3. pikachu RCE(remote command/code execute)(远程命令执行/远程代码执行)(皮卡丘漏洞平台通关系列)

    目录 一.官方介绍 二.诚意推荐 三.悠闲通关 第1关 exec "ping" 第2关 exec "eval" 一.官方介绍 本节引用内容来源pikachu漏洞 ...

  4. PHP命令注入 Command injection

    命令注入攻击(Command Injection),是指黑客通过利用HTML代码输入机制缺陷(例如缺乏有效验证限制的表格域)来改变网页的动态生成的内容.从而可以使用系统命令操作,实现使用远程数据来构造 ...

  5. 高级cmd攻击命令_一步一步学习DVWA渗透测试(Command Injection命令行注入)-第七次课...

    各位小伙伴,今天我们继续学习Command Injection,翻译为中文就是命令行注入.是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的.在OWASP TOP 10中一种存在注 ...

  6. 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 ...

  7. cmd php 不是内部命令_一步一步学习DVWA渗透测试(Command Injection命令行注入)-第七次课...

    各位小伙伴,今天我们继续学习Command Injection,翻译为中文就是命令行注入.是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的.在OWASP TOP 10中一种存在注 ...

  8. 3.Command Injection——Medium级别测试——小白笔记——DVWA

    0x01:Medium测试 1.上源码: Command Injection Source: <?phpif( isset( $_POST[ 'Submit' ] ) ) {// Get inp ...

  9. Command Injection

    Command Injection command injection即命令注入,是指恶意用户通过构造请求,对于一些执行系统命令的功能点进行构造注入,本质上是数据与代码未分离.对于特殊的需求没有对请求 ...

最新文章

  1. 织梦在哪写html,织梦专题页去.html后缀的方法
  2. 学习理发去哪里_作为女性,学习运维工程师去哪里好
  3. QTP的那些事---页面弹出框的处理,页面等待加载的处理
  4. 如何使用Python创建,读取,更新和搜索Excel文件
  5. *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
  6. js空对象undefined
  7. ajax常见问题汇总(二)
  8. Java RMI(2):项目中使用RMI
  9. efl是什么意思_efl
  10. 特征匹配中OpenCV Dmatch类的用法解析以及非常详细的ORB特征提取与匹配解析
  11. dede 鼠标移到标题处显示完整标题
  12. 数学建模——层次分析法模型
  13. 地址总线/数据总线/控制总线的作用
  14. 如何用HBuilderX把uni-app项目运行到微信开发者工具上
  15. 名字中间一条线怎么弄_网名怎么加横线啊 网名中间加一条横线
  16. 高光谱图像 空间分辨率
  17. 网站SEO优化核心5要素
  18. 洛谷P1021邮票面值设计
  19. Cerc2014 Outer space invaders
  20. Android10文件管理,10款优秀的Android文件管理器

热门文章

  1. 4月28号开始报名英语四六级了
  2. 自动控制原理期末复习(Part2数学模型)
  3. 蚂蚁森林上线了9.7KG能量球,50万人争着为它买保护罩
  4. win10下基于yolo5s的安全帽检测
  5. 测试~在哪些方面考虑设计测试用例, 举例微信点赞测试用例设计
  6. 碧昂丝多伦多再度失守 胸部走光画面爆红网络(图)
  7. Google Code Jam Round2 A,B题解
  8. 我们的客户《14年老牌PCB大厂倒下了》
  9. 高仿书旗小说 Flutter 版,学起来
  10. CRC校验工具 校验码自动生成软件支持十几种CRC计算方式