bash漏洞
FB招聘站
分类阅读
专栏
公开课
FIT 2019
企业服务
用户服务
搜索
投稿
登录
注册
从语法解析角度分析Bash破壳漏洞 360网站卫士认证厂商2014-09-30共383159人围观 ,发现 18 个不明物体 WEB安全
我们团队结合poc分析了解一下Bash的语法规则,从另外一个角度帮忙大家更好的了解bash以及shellshock漏洞。
漏洞说明
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271
CVE-2014-6271漏洞是Stéphane Chazelas(法国)发现的SHELL的一个漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。
此漏洞可能会影响到使用ForceCommand功能的OpenSSH sshd、使用mod_cgi或mod_cgid的Apache服务器、DHCP客户端、其他使用bash作为解释器的应用。
漏洞测试
0×00 本地测试
# env x='() { :;}; echo vulnerable; bash -c "echo this is a test"
打印出:
vulnerable
this is a test
0×01 http通过cgi测试
构造poc.cgi
确保本地www目录存在一个test.file文件
# curl http://127.0.0.1/poc.cgi -A ‘x=() { :; }; /bin/rm /www/test.file’
test.file文件已经被删除
# curl http://192.168.0.1/test.file
…
漏洞分析
在上面的测试0×01中,User-agent的输入“x=() { :; }; /bin/rm /www/test.file”通过bash的语法分析解析成了一个函数定义和一个command。并且在parse_and_execute函数中command被执行了,导致于test.file被非法删除。
下面的分析主要是看bash的语法是怎样把"HTTP_USER_AGENT() { :; };\n/bin/rm /www/test.file"字符输入解析成一个函数定义和一个command的过程。
了解bash的语法解析过程,可以帮助我们更好的理解该漏洞的详细情况。
0×00
Bash的词法和语法分析是用flex and yacc来实现。关于flex和yacc,不明白的可以自己去查询相关资料。这里简单介绍一下:
Flex词法分析器将数据流中的各类词先提取出来,形成一个个的token,供语法分析器使用
Yacc语法分析器将文法符号按照一定的规则进行移进-规约操作,最终归约为目标S文法
0×01
Bash词法token在y.tab.c中能够找到,word_token_alist和other_token_alist等数组中定义。Bash的语法定义是在parse.y文件中定义的。
分析输入数据:"HTTP_USER_AGENT() \n{\n :;\n };/bin/rm /www/test.file"
在规约到function_def状态的时候,就创建了函数定义,如下接口:
{ $$ = make_function_def ($1, $5, function_dstart, function_bstart); }
对应的$1= HTTP_USER_AGENT, $5的值为函数body, function_dstart为函数定义开始行,
function_bstart为函数体定义开始行。
/bin/rm /www/test.file则是在simple_command:状态的时候,创建了命令,调用接口:
COMMAND *make_simple_command (element, command)
0×02
在parse_and_execute函数中
0×01部分解析工作由yyparse完成,它在parse_command中被调用。
当解析完成后,并没有对command的合归性进行检查,Shell执行的时,会调用read_loop循环读取read_command,然后最终调取command_execute来执行相应的命令。
漏洞修复
以下是相关linux发行版本的官网,请系统管理员&站长关注这些patch链接,及时下载最新补丁进行修复;未能修复该漏洞的网站,可以开启360网站卫士进行防御。
http://lists.centos.org/pipermail/centos-announce/2014-September/
https://www.debian.org/security/2014/dsa-3035
https://rhn.redhat.com/errata/RHSA-2014-1306.html
http://www.ubuntu.com/usn/usn-2363-1/
http://support.novell.com/security/cve/CVE-2014-7169.html
360网站卫士
360网站卫士
5 篇文章
等级: 2级
||
上一篇:Bash远程解析命令执行漏洞测试方法下一篇:恶意软件隐藏新技巧 – 密写
这些评论亮了
爱立信扫地大爷 回复
"可以开启360网站卫士进行防御..."
我也是醉了
)38(亮了
360网站卫士 (2级)360网站卫士安全团队回复
@爱立信扫地大爷 bash漏洞可以通过构造http头字段来对网站实现攻击,如果网站cgi程序调用bash的话,很轻松就能拿下网站服务器。360网站卫士是一个云防护产品,当然能防bash漏洞,请问这有什么问题么?
)9(亮了
发表评论已有 18 条评论
elf 2014-09-30回复 1楼
360网站卫士???
非win也有360?
亮了(2)
爱立信扫地大爷 2014-09-30回复 2楼
"可以开启360网站卫士进行防御…"
我也是醉了
亮了(38)
360网站卫士 认证厂商(2级) 360网站卫士安全团队 2014-10-01回复
@爱立信扫地大爷 bash漏洞可以通过构造http头字段来对网站实现攻击,如果网站cgi程序调用bash的话,很轻松就能拿下网站服务器。360网站卫士是一个云防护产品,当然能防bash漏洞,请问这有什么问题么?
亮了(9)
char_EST (2级) 中国平安,不只保险这么简单。 2014-09-30回复 3楼
"可以开启360网站卫士进行防御…"
同醉!无节操,不要下限。
亮了(3)
路人 2014-09-30回复 4楼
卧槽最后一句是收了多少钱
亮了(0)
王珂 (1级) 2014-09-30回复 5楼
表示小白,*nix的主机上不会用360
亮了(0)
360网站卫士 认证厂商(2级) 360网站卫士安全团队 2014-10-01回复
@王珂 我表示你没理解这个漏洞
亮了(1)
yjd (4级) 2014-09-30回复 6楼
作者: 360网站卫士
亮了(1)
kalsong 2014-10-01回复 7楼
360网站卫士……你为何如此屌?
莫非linux服务器要wine一个?
亮了(1)
360网站卫士 认证厂商(2级) 360网站卫士安全团队 2014-10-01回复
@kalsong 不是我屌啊亲,是你没懂这个漏洞
亮了(0)
x8664 (1级) 2014-10-01回复 8楼
越分析越觉得bash是无辜的:
用户传过来什么你们都完全不处理直接给我执行,我哪知道你是要定义一个函数还是要在后面再跟个命令?!
亮了(1)
雷小某 (1级) 2014-10-02回复 9楼
其实大家就是想问一句,自家的*nix服务器怎么部署网站卫士……表示理解都不在一个点上了~~~
亮了(4)
thy_shenzhen (1级) 2014-10-04回复 10楼
搞网络营销的人,人品真的毫无下限可言!
亮了(0)
妖奴 (1级) 2014-10-04回复 11楼
360叼爆了
亮了(0)
xiaolang (1级) 2014-10-05回复 12楼
本地执行,还用root权限,你牛叉当然能删除掉了.
亮了(0)
夜黑风寒 (3级) 2014-10-08回复 13楼
360有什么客户端的没有?
亮了(0)
x1ao (1级) 2015-06-15回复 14楼
curl http://127.0.0.1/poc.cgi -A ‘x=() { :; }; /bin/rm /www/test.file’
应该是下面这行
curl http://127.0.0.1/poc.cgi -A ‘x=’() { :; }; /bin/rm /www/test.file’’
少了两个单引号。
亮了(0)
zoonctrl (6级) 该怎么做好信息安全? 2015-08-04回复 15楼
360 的版本 有了?
亮了(0)
昵称
请输入昵称
必须您当前尚未登录。登陆?注册邮箱
请输入邮箱地址
必须(保密)表情插图
有人回复时邮件通知我
360网站卫士
360网站卫士认证厂商
360网站卫士安全团队
5
文章数
4
评论数
最近文章
从语法解析角度分析Bash破壳漏洞
2014.09.30
“DNS隧道”盗号木马分析
2014.07.14
Struts2安全漏洞频出 ,多因Apache官方代码编写不严谨
2014.04.30
浏览更多
相关阅读
技术分享:几种常见的JavaScript混淆和反混淆工具分析实战使用NetBios Spoofing技术渗透内网走近科学:Chrome恶意插件如何入侵用户计算机?被Google忽略的XSS漏洞关于近期发布的apache+php cgi mod攻击代码
特别推荐
关注我们 分享每日精选文章
活动预告
11月
FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气
已结束
10月
【16课时-连载中】挖掘CVE不是梦(系列课程2)
已结束
10月
【首节课仅需1元】挖掘CVE不是梦
已结束
9月
【已结束】自炼神兵之自动化批量刷SRC
已结束
FREEBUF免责声明协议条款关于我们加入我们广告及服务寻求报道广告合作联系我们友情链接关注我们
官方微信
新浪微博腾讯微博Twitter赞助商
Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号
css.php 正在加载中...0daybank
文章评论