会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
h0cksr
一个心怀梦想的Weber
博客园
首页
新随笔
联系
订阅
管理
bypass disable提权:CVE-2014-6271(Bash破壳漏洞)
bypass disable:CVE-2014-6271(Bash破壳漏洞)
###### 漏洞范围:
GNU Bash 版本小于等于4.3
其实现在大多数的服务器的bash版本都超过了4.3,已经对这个漏洞就行了修复也就无法利用了,不过学习了一下这个漏洞也还是记录一下吧
###### 漏洞成因:
目前的bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以“(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。核心的原因在于在输入的过滤中没有严格限制边界,没有做合法化的参数判断。
在补丁中主要进行了参数的合法性过滤,补丁程序在/builtins/evalstring.c的parse_and_execute函数中进行了输入的command进行了合法性的边界检测,将代码注入的可能性排除。在排除中主要用到了flags的两次判断和command的一次类型匹配,为了能够flags判断准确,在补丁中预先定义了SEVAL_FUNCDEF、SEVAL_ONECMD两个标识作为判断依据。
此漏洞进行的补丁更新有三处,主要进行输入的command进行过滤作用。
###### 漏洞自查:
bash<br />env x='() { :;}; echo Vulnerable CVE-2014-6271 ' bash -c "echo test"<br />
执行命令后,如果显示Vulnerable CVE-2014-6271,证系统存在漏洞,可改变echo Vulnerable CVE-2014-6271为任意命令进行执行。
远程测试:
######
漏洞可能会带来的影响
1. 此漏洞可以绕过ForceCommand在sshd中的配置,从而执行任意命令。
2. 如果CGI脚本用bash编写,则使用mod_cgi或mod_cgid的Apache服务器会受到影响。
3. DHCP客户端调用shell脚本来配置系统,可能存在允许任意命令执行。
4. 各种daemon和SUID/privileged的程序都可能执行shell脚本,通过用户设置或影响环境变量值,允许任意命令运行。
参考文章:
https://www.jianshu.com/p/e684a3b73939
https://www.antiy.com/response/CVE-2014-6271.html
posted @
2022-04-25 12:17
h0cksr
阅读(
68
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
公告