了解 ShellShock(破壳漏洞)

易小灯塔
2018-06-18 / 0 评论 / 732 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2018年06月18日,已超过2352天没有更新,若内容或图片失效,请留言反馈。


在学习linux shell编程的时候, 看到资料上说bash版本过旧的话就可能受到破壳漏洞的攻击.

下面就来了解一下什么是破壳漏洞


什么是ShellShock

ShellShock是一个BashShell漏洞(据说不仅仅是Bash,其他shell也可能有这个漏洞).

一般情况来说,系统里面的Shell是有严格的权限控制的,如果没有相应的权限,是根本看不到某些命令的存在,更不要说执行这些命令。

但是,Bash在运行的过程中会调用操作系统的环境变量,并且会执行一些设置命令。通过ShellShock漏洞,入侵者可以把某些”本来没有权限执行的语句或者命令“,注入到环境变量里。当bash设置环境变量的时候,就会执行这些”被注入“命令。这样子便绕过用户权限的限制,把一些”没有权限执行的命令“,变成”具有执行权限的命令“了。从而可以在系统内任意执行Bash命令语句,胡作非为(相当于获得root超级用户权限)。


漏洞成因

bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以“(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。核心的原因在于在输入的过滤中没有严格限制边界,没有做合法化的参数判断。


漏洞范围:

Bash 版本小于等于4.3


防御办法

Bash 升级到最新的版本

 

image-20201108074747534

0

评论 (0)

取消