Jakarta ee [ww-2160 struts]是<;属性值=%{';xyz';}>;
这是关于OGNL评估中的安全缺陷的,即struts。Jakarta ee [ww-2160 struts]是<;属性值=%{';xyz';}>;,jakarta-ee,struts2,code-injection,Jakarta Ee,Struts2,Code Injection,这是关于OGNL评估中的安全缺陷的,即struts。 有人能举例说明这是如何被利用的吗 假设我有一个请求参数,服务器将其返回给客户端: http://test/xyz=test 我有一个名为xyz的变量,在action类中有getter和setter,在JSP中有: <s:property value="%{xyz}" /> 如果有人使用URLhttp://test/xyz=@System@exit(0)发生了什么?首先,您链接到的票证在2007年已修复。我不知道当时到底是什么
有人能举例说明这是如何被利用的吗 假设我有一个请求参数,服务器将其返回给客户端:
http://test/xyz=test
我有一个名为xyz
的变量,在action类中有getter和setter,在JSP中有:
<s:property value="%{xyz}" />
如果有人使用URL
http://test/xyz=@System@exit(0)
发生了什么?首先,您链接到的票证在2007年已修复。我不知道当时到底是什么问题,但这似乎不再相关了
如果有人使用URL)会发生什么
JSP页面将输出字符串literal@System@exit(0)
OGNL表达式在Struts2标记内处理。在这种情况下,字符串literal
%{xyz}
被传递给PropertyTag
的setValue(string)
方法。在该标记内,根据值堆栈对该字符串求值,以生成@System@exit(0)
。然后输出该值。首先,您链接到的票证在2007年是固定的。我不知道当时到底是什么问题,但这似乎不再相关了
如果有人使用URL)会发生什么
JSP页面将输出字符串literal@System@exit(0)
OGNL表达式在Struts2标记内处理。在这种情况下,字符串literal%{xyz}
被传递给PropertyTag
的setValue(string)
方法。在该标记内,根据值堆栈对该字符串求值,以生成@System@exit(0)
。然后输出该值