通过上面的原理分析我们知道,只要是能通过某种手段为bash传递环境变量的程序都受此影响。当然最典型的的就是bash写的CGI程序了,客户端通过在请求字符串里加入值为() { echo 我是环境变量;}; echo 你中招了的表单值,就可以轻松攻击运行CGI的服务器。
目前大多数的一般网站很少用CGI了,所以问题不算太大。但是有很多的网络设备,如路由器交换机等都使用了perl或者其他语言写的CGI程序,只要是底层调用了bash,那么风险还是很大的。
目前,针对此漏洞的补丁已经发布,请尽快打上。不幸的是打上补丁后仍存在另外的泄露文件内容的漏洞,详情参看如下转载文章:https://raw.githubusercontent.com/citypw/DNFWAH/master/4/d4_0x07_DNFWAH_shellshock_bash_story_cve-2014-6271.txt
[sth0r@shawn-fortress]$ uname -a Linux shawn-fortress 3.7-trunk-686-pae #1 SMP Debian 3.7.2-0+kali8 i686 GNU/Linux |=-----------------------------------------------------------------=| |=-----=[ D O N O T F U C K W I T H A H A C K E R ]=-----=| |=-----------------------------------------------------------------=| |=------------------------[ #4 File 0x07 ]-------------------------=| |=-----------------------------------------------------------------=| |=-------------------=[ Bash Shellshock事件: ]=--------------------=| |=-------------------=[ CVE-2014-6271资料汇总]=--------------------=| |=-----------------------------------------------------------------=| |=---------------------=[ By Shawn the R0ck ]=---------------------=| |=-----------------------------------------------------------------=| |=-----------------------=[ Sep 25 2014 ]=------------------------=| |=-----------------------------------------------------------------=| --[ Content 0. What is BASH 1. CVE-2014-6271 2. Incomplete patch and story to be continued... --[ 0. 什么是BASH Bourne Again Shell(简称BASH)是在GNU/Linux上最流行的SHELL实现,于1980年 诞生,经过了几十年的进化从一个简单的终端命令行解释器演变成了和GNU系统深 度整合的接口。 --[ 1. CVE-2014-6271 法国GNU/Linux爱好者Stéphane Chazelas于2014年9月中旬发现了著名SHELL实现 BASH的一个漏洞,你可以通过构造环境变量的值来执行你想要执行的脚本代码, 据报道称,这个漏洞能影响众多的运行在GNU/Linux上的会跟BASH交互的应用程序, 包括: ** 在sshd配置中使用了ForceCommand用以限制远程用户执行命令,这个漏洞可以 绕过限制去执行任何命令。一些Git和Subversion部署环境的限制Shell也会出 现类似情况,OpenSSH通常用法没有问题。 ** Apache服务器使用mod_cgi或者mod_cgid,如果CGI脚本在BASH或者运行在子 SHELL里都会受影响。子Shell中使用C的system/popen,Python中使用 os.system/os.popen,PHP中使用system/exec(CGI模式)和Perl中使用 open/system的情况都会受此漏洞影响。 ** PHP脚本执行在mod_php不会受影响。 ** DHCP客户端调用shell脚本接收远程恶意服务器的环境变量参数值的情况会被 此漏洞利用。 ** 守护进程和SUID程序在环境变量设置的环境下执行SHELL脚本也可能受到影响。 ** 任何其他程序执行SHELL脚本时用BASH作为解释器都可能受影响。Shell脚本不 导出的情况下不会受影响。 我们先来看一个简单的POC: 1,本地SHELL环境中测试是否有漏洞: $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 如果存在漏洞会打印"vulnerable"。 2,C程序: ----------------------------------------------------------------------------- /* CVE-2014-6271 + aliases with slashes PoC - je [at] clevcode [dot] org */ #include以上就是关于bash 漏洞的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shenmilingyu/article-17595-2.html
天了噜