Vulhub-Shellshock Remote Command Injection (CVE-2014-6271)

article/2025/9/17 21:30:30

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脚本,通过用户设置或影响环境变量值,允许任意命令运行。

http://chatgpt.dhexx.cn/article/e2hmQn8u.shtml

相关文章

Shellshock(bashdoor)漏洞详细分析、复现

一、Shellshock的背景 Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易…

linux网络知识:路由策略(ip rule,ip route)

目录 一,路由策略(使用ip rule命令操作路由策略数据库) 二,路由表(使用ip route命令操作静态路由表) 三, ip rule,ip route,iptables 三者之间的关系 一,路…

iproute2 命令详解

iproute2 命令详解 一、和netstat说再见二、篡权的ss三、被ip取代的命令 博客环境说明: 系统版本:CentOS Linux release 7.7.1908 (Core) yum源:阿里源 一、和netstat说再见 netstat命令详解点击这里查看 二、篡权的ss centos安装iproute2命令: yum ins…

linux之ip route命令

1.基础知识 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目的地址而且能够根据报文大小、应…

Linux系统route、ip route、ip rule简介

一、相关概念 1. 路由(Routing) 路由是指设备从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。 2. 路由表(routing table) 所谓路由表,是指路由器或者其它互联网网络设…

Linux 路由的添加删除-ip route

本文为joshua317原创文章,转载请注明:转载自joshua317博客 Linux 路由的添加删除-ip route - joshua317的博客 一、路由查看 # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default …

Arch LInux | 网络管理工具iproute2(网络接口、ip地址、路由表)

一、iproute2 Arch LInux已经弃用了 net-tools,转而使用 iproute2。 iproute2提供 ip 命令行接口,用于管理网络接口,IP地址。路由表。 使用 ip 命令配置的信息会在系统重启后丢失,要进行永久配置,可以使用网络管理器…

Linux ip route 常用配置

Linux ip route 常用配置 路由: 路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳的传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成这项工作,在路由器…

iproute2路由配置(ip rule、ip route、traceroute)

一、Iproute2简介 Iproute2是一个在Linux下的高级网络管理工具软件。实际上,它是通过rtnetlink sockets方式动态配置内核的一些小工具组成的,从Linux2.2内核开始,Alexey Kuznetsov 实现了通过rtnetlink sockets用来配置网络协议栈&#xff0c…

iproute2编译安装

1、下载iproute2 cd /usr/local/src/ git clone https://github.com/shemminger/iproute2.git稳定版本库 git://git.kernel.org/pub/scm/network/iproute2/iproute2.git 2、下载编译安装libmnl git clone git://git.netfilter.org/libmnl cd libmnl/ sh autogen.sh ./confi…

ip route配置单个网关

环境: 树莓派通过网线连接laptop,走eth0网卡,用于ssh远程树莓派连接wifi,走wlan0网卡,用于访问外网 需求: 现在要让树莓派同时连接两个网络,必须能通过wifi上外网,通过网线能用笔…

ip route内容详解

------分割线------ 我们在k8s-calico2这个node上来看。执行ip r, 在这个node的路由中,需要我们关注的有: 192.168.97.2 dev calic285cddbb40 scope link blackhole 192.168.97.0/26 proto bird 192.168.210.192/26 via 10.173.32.26 dev eth0 proto…

华为路由器静态路由协议配置

华为路由器配置静态路由 静态路由 静态路由,一种路由的方式,路由项)由手动配置,而非动态决定。与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说&…

静态路由详细讲解

1.路由: 从源主机到目标主机的转发过程 2.路由器的转发原理: 根据路由表转发数据包,有路由条目则转发到下一跳; 无路由条目,则丢弃数据包,返回数据不可达信息。 3.路由表的形成 先添加直连网段路由&…

vue打印功能 手持终端打印小票,电脑连接打印机打印预览

最近的项目有手持终端打印小票和电脑连接诶打印机打印信息 方法有很多种的: 一. vue-print-nb 安装插件 1.安装插件 npm install vue-print-nb --save 2. 在main.js中引入安装的插件 import Print from vue-print-nb Vue.use(Print); 3.直接就可以在相应的页…

用计算机名共享打印机不能打印,共享打印机无法打印怎么办解决教程

在办公室使用共享打印机的时候,难免不遇到一些故障,比如共享打印机无法打印的问题,已经连接上打印机了,但使用它打印的时候就是不行,这时候我们要在自己的电脑上找原因,我们按下面的步骤操作来解决。 1、确…

如何在计算机上取消打印,打印机如何取消打印任务

打印机如何取消打印任务 如果文档正在打印过程中需要取消打印任务,则直接点击打印任务窗口中的“暂停”按钮即可取消打印任务。也可能通过点击Windows任务栏右下角的打印机图标来打开“打印任务”窗口,然后点击“暂停”按钮以暂停打印任务。 打印机如何取…

Excel打印针式打印机备货单

Excel打印针式打印机备货单 1. 进入控制面板2. 设置打印服务器属性3. 测试打印Excel5. 打印不全问题 得力打印机驱动下载官网:https://www.nbdeli.com/services/download.html 1. 进入控制面板 Win10: 快捷键:WinS 输入控制面板即可 2. 设…

飞鹅打印机远程打印订单

飞鹅打印机远程打印订单 1. 需求2. 打印机选型3. 飞鹅打印机添加4. 飞蛾打印机联网设置5. 测试打印6. 打印工具类代码7. 飞鹅打印机样式 1. 需求 当用户下完订单后,自动调用订单打印服务,然后打印订单信息。 就像饿了么、美团直接下完单之后会有语音播报…

计算机打印东西怎么横向打印机,打印机横向打印怎么设置,打印机不能横向打印...

在win10系统中该如何将打印机的默认打印方向变成横向打印呢?当我们经常打印的文档都是字数少,字体大的文档一般都会通过word将其制作成横向界面的纸张,但是每次在打印的时候都需要进行设置将反向设置为横向才可以,非常的麻烦&…