墨者 - Bash漏洞分析溯源

article/2025/10/4 19:57:01

bash代码注入的安全漏洞分析

 

bash的环境变量

   环境变量是操作系统运行shell中的变量,很多程序的运行需要获取系统的环境变量参数。具体赋值格式如下:

$ var="hello world"

  然后你就可以使用这个变量了,但是只是局部变量,即是当前进程可以用,若当前进程的子进程或者其他进程需要用,需要用到        export将本进程的变量copy到其他进程。丽日如下测试

   没加export,当新建一个bash,再输出$var 就不能获取环境变量

$ var="hello coolshell"
$ echo $var
hello coolshell
$ bash
$ echo $var

   所以得加个export

$ export var="hello coolshell"

bash的函数

  bash与上面得环境变量同理

$ foo(){ echo "hello coolshell"; }
$ foo
hello coolshell
$ bash
$ foo
bash: foo: command not found

  同理, 加个export -f 

$ foo(){ echo "hello coolshell"; }
$ foo
hello coolshell
$ export -f foo
$ bash
$ foo
hello coolshell

bash的bug

   先看如下测试代码:

$ export X='() { echo "inside X"; }; echo "outside X";'

  再用env 查看创建出来的环境变量

$ env
X=(){ echo "inside X"; }; echo "outside X";

当我们在当前的bash shell进程下产生一个bash的子进程时,新的子进程会读取父进程的所有export的环境变量,并复制到自己的进程空间中,很明显,上面的X变量的函数的后面还注入了一条命令:echo “outside X”,这条命令会在父进程向子进程复制的过程中被执行。

$ export X='() { echo "inside X"; }; echo "outside X";'
$ bash
outside X

这就是bash的bug—— 函数体外面的代码被默认地执行了

 

实践

  要找到网站运行bash的CGI文件,网上搜索,网站的默认路径为/cgi-bin中

 然后用bp抓包,在Connection中加入bash指令操作,创建环境变量顺便执行查看key

拿到key

参考链接:https://blog.csdn.net/jingxia2008/article/details/39637085


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

相关文章

墨者靶场 初级:Bash漏洞分析溯源

墨者靶场 初级:Bash漏洞分析溯源 题目背景介绍实训目标解题方向解题步骤 题目 背景介绍 安全工程师"墨者"对一单位业务系统进行授权测试,在测试过程中,发现存在bash命令执行漏洞。 实训目标 1、了解bash; 2、了解Bas…

Bash漏洞

1、漏洞的起因 这个漏洞的起因源自于Bash(Bourne Again SHell)的ENV指令 http://ss64.com/bash/env.html envDisplay, set, or remove environment variables, Run a command in a modified environment.Syntaxenv [OPTION]... [NAMEVALUE]... [COMMAND [ARGS]...]Options-u …

Linux系统bash漏洞

Linux系统bash漏洞 前言一、漏洞介绍二、实验过程总结 前言 bash,全称为Bourne-AgainShell,是控制Linux计算机命令提示符的软件。2014年被发现其存在严重的安全漏洞。bash在处理含有诸如”(){:;};”的环境变量赋值的代码上存在设计缺陷,错误…

Bash漏洞分析溯源

漏洞简介 Bash(GNU Bourne-Again Shell)是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。 1.bash漏洞利用的版本号为4.3或更早的版本。产生漏洞的…

命令执行漏洞

命令执行漏洞的定义: 命令执行漏洞,就是指用户通过浏览器或其他辅助程序提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令。 命令执行漏洞的原理: 命令执行漏洞之所以…

计算机并行配置,windows10无法启动应用程序提示并行配置不正确解决方法

最近,有不少 Windows10系统 用户反映自己在使用电脑时,遇到了打开不了应用程序的问题,并提示“应用程序无法启动,因为应用程序的并行配置不正确。请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”。这该怎么办呢…

报错提示:应用程序无法启动,因为应用程序的并行配置不正确,有关详细信息,请参阅应用程序时间日志,或使用命令行sxstrace.exe工具。有效解决方法

应用程序打不开,提示如图: 这个问题一般下载下面的文件安装后就可以了。 解决办法: 下载一个Microsoft Visual C 2008 Redistributable Package (x64)文件:下载链接; 链接打开如图,点击红色按钮下载,下载…

[Setting]win7下运行exe失败:应用程序无法启动,因为应用程序的并行配置不正确

win7下运行exe失败:应用程序无法启动,因为应用程序的并行配置不正确 1.问题描述 承接了一个项目,给甲方交接的时候,在它的电脑中运行出现了这个错误。 应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息&#xff0c…

3dmax绑定骨骼

学习网址: https://www.bilibili.com/video/av30075688/?p20 1、案例素材准备 链接:https://pan.baidu.com/s/1fStZ3-CEG9WmdZNtJzPh2w 提取码:n0uf 2、导入初始模型 3、绑定骨骼 找到骨骼按钮。 4、点击骨骼之后,切换到左…

Blender图解教程:如何在保持模型姿态的情况下删除骨骼绑定

有的时候我们可能只想借助骨骼系统为模型摆个造型,然后在保持姿态的前提下提取不附带骨骼的静态模型。 我们只需要在物体模式下选择模型,然后在它的修改器属性标签中,将骨架(Armature)修改器应用掉 然后就可以安全地删除骨骼绑定了 有洁癖…

Unity将物体绑定在spine动画骨骼节点上

实现 1.在目标spine动画下新建一个空物体。 2.给空物体添加BoneFollwer脚本(sprite动画添加BoneFollwer, ui动画添加BoneFollowerGraphic)。此时spine动画上会显示出骨骼节点。 3.选择需要挂载的目标骨骼节点。此时运行会发现挂有该脚本…

blender绑定后,姿态模式 骨骼动 模型不动

就是这个样子,重复做了好几个模型,绑定后,切换到姿态模式,模型就是不能动,模型已经放大,已经合并顶点,已经3天了,找不到原因,卡在这里3天了,盼望帮忙解决

[maya] 简单绑定骨骼和刷权重

新建个正方体,并且确定是绑定模式 提高细分数 在长方体里创建关节 绑定蒙皮,并全部选中,长方体和骨骼。 点击蒙皮-》绘制蒙皮权重,白色代表影响,黑色代表影响不到。

blender 给人物角色绑定骨骼到unity3d

blender 给人物角色绑定骨骼到unity3d 转载请注明出处http://blog.csdn.net/qq_18609315/article/details/50417087 1.在blender中打开你的人物模型。确保角色的坐标轴在世界坐标的中心,人物的坐标轴应在脚底的位置,因为角色会在这个平面上移动 2.在“文…

【美术基础】PMX骨骼网格体导入UE5并重新绑定动作 - Blender 3.2.1 需要重新下载2.8版本使用Cats插件

Blender 3.2版本中对Cats插件的一些修复 FixModel功能修复 在Fix Model的时候会出现报错 此处由于我有Python功底,直接去找源代码修改掉此处的类型错误 将armature.py的205行改为 return context.window_manager.invoke_props_dialog(self, widthint(dpi_value …

【maya】骨骼绑定与蒙皮权重调整

(使用maya版本是2018.5) 首先导入一个没有骨骼的模型。 以下为了方便骨骼绑定我们使用建模工具箱。 文章目录 第一种绑定骨骼方式第二种绑定骨骼方式调整权重 第一种绑定骨骼方式 (这种方式需要人物脸面朝z轴正方向。) 1.上方面板装备-快速装备&am…

maya骨骼架设、蒙皮绑定与权重修正

一、简单的骨骼架设与蒙皮绑定 (一)骨骼创建 1.首先在Human IK面板中添加一个骨架 2.点击X射线显示关节 3. 将每一个关机放到合适的位置 4.点击绑定,菜单栏就会出现骨架以及蒙皮菜单 5.在蒙皮菜单中点击绑定蒙皮选项,根据自己的…

UE4骨骼动画绑定

先新建插槽,不然骨骼会跟着附加上的类动。 在骨骼内绑定然后进行调整后的类,生成时,同一个类也是在调整后的位置。 骨骼绑东西只是预览,还可以在动画里面的骨骼绑定看效果。 在人物类图里在Mesh下绑一个模型(武器等等&…

three.js进阶之骨骼绑定

使用three.js也能实现3D模型的骨骼绑定,使用代码控制模型!参考这里的呈现效果。 更加常见的应用场景应该是:给一个模型设置多套骨骼动画如唱、跳、Rap等,然后在浏览器中根据用户的输入选择执行不同的动画,这就需要对骨…

blender绑定骨骼法 2 rig

image.png image.png 生成一个body_temp add neck 脖子 add chin 下巴 image.png add shoulder肩膀 image.png add wrist手腕 add spline root .额那个位置 image.png add ankle脚踝 image.png FACIAL setup是面部的骨骼绑定,这里没眼球啥的就不弄了直接 点go 就生成了骨骼. im…