bash 安全漏洞-bash代码注入的安全漏洞
2023-06-13 09:16:23 时间
你看bash 安全漏洞,一个代码注入就这样完成了。这就是bash的bug——函数体外面的代码被默认地执行了。
我们并不一定非要像上面那样创建另一个bash的子进程,我们可以使用bash -c的参数来执行一个bash子进程命令。就像这个安全漏洞的测试脚本一样:
env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test"
其中,() { :;} 中的冒号就相当于/bin/true,返回true并退出。而bash -c其实就是在spawn一个bash的echo的子进程,用于触发函数体外的echo命令。所以,更为友好一点的测试脚本应该是:
env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo 如果你看到了vulnerable字样说明你的bash有安全问题"
OK,你应该明白这个漏洞是怎么一回事了吧。
bash漏洞的影响有多大
在网上看到好多人说这个漏洞不大,还说这个事只有那些陈旧的执行CGI脚本的网站才会有,现在已经没有网站用CGI了。我靠,这真是无知者无畏啊。
我举个例子,如果你的网站中有调用操作系统的命令,比如你用PHP执行个exec之类的东西。这样的需求是有的,特别是对于一些需要和操作系统交互的重要的后台用于管理的程序。于是就会开一个bash的进程来执行。
我们还知道,现在的HTTP服务器基本上都是以子进程式的bash 安全漏洞,所以,其中必然会存在export 一些环境变量的事,而有的环境变量的值是从用户端来的,比如:这样的环境变量,只由浏览器发出的。其实这个变量你想写成什么就写成什么。
相关文章
- http.sys远程代码注入漏洞
- 代码审计 | 表达式注入
- WEB安全基础 - - -SQL注入利用
- 数据库防注入_Spring中依赖注入的四种方式
- mysql无逗号的注入技巧
- Frida - App逆向 JavaScript代码注入 基本语法以及数据类型介绍
- PHP SQL 注入代码审计
- C/C++ 进程代码注入&提权&降权
- 代码注入(web安全入门)
- JavaScript 中的依赖注入
- log4j2 JNDI注入漏洞速通~
- 如何在非Spring容器管理的类中注入/获取 Spring容器中的 Bean?
- 理工科神器Wolfram|Alpha注入超强计算知识,补足ChatGPT短板
- 【Android 逆向】Android 进程代码注入原理 ( 进程注入原理 | 远程调用流程 | 获取函数地址 | 设置 IP 寄存器 | mmap 申请内存 | 设置 SP 寄存器 )
- 【Android 逆向】Android 进程注入工具开发 ( 远程进程 注入动态库 文件操作 | Android 进程读取文件所需的权限 | fopen 打开文件标志位 | 验证文件权限 )
- Rhino之光—Vray 6.00为你的建模注入无限可能+全版本安装包
- 两段简单的JS代码防止SQL注入详解编程语言
- 爆肝200天!上海高中生自制机器人,250行代码“注入灵魂”
- 《30天打造安全工程师》第19天:SQL注入攻击
- SQL注入速查表(上)
- Java与MySQL的高效结合,为你的代码注入新的活力!(javamysql类)
- 深入浅出:Linux代码注入防护(linux代码注入)
- SQL注入攻击?(mysql如何防止)
- MSSQL高级注入技术:完美攻破数据库防御(mssql 高级注入)
- MSSQL注入攻击:爆表结构技术(mssql 注入爆表语句)
- php防止sql注入代码实例