0

我有一个问题,我应该停止 XSS 漏洞。这里的一个典型例子是 vulnerable.jsp

 <h2><%= myObj.getElf() %></h2> 

myObjkObj class我在jsp文件中创建的对象:

<% kObj myObj = KSession.getPostInfo(session); %>

这里的问题是在这个框架中没有使用use bean。结果,核心 JSTl 的使用变得令人不安并且不起作用。例如,当我尝试这样做时:

<h2><c:out value={$( myObj.elf)} /></h2> 

它不起作用,并告诉我elf使用.运算符的对象没有价值。

该类 kObj也不是严格意义上的 POJO。有人可以建议我在这里可以做什么吗?

4

1 回答 1

1

代码中演示的 JSTL 标记使用 EL。EL 中使用的对象应该在已知范围之一中:请求、会话等。因此,在您的 EL 表达式中,您应该尝试使用实例实际存储在会话中的键而不是 myObj。

您似乎从 HTTP 会话中获取对象,不确定 KSession 是什么,但我认为它在内部从会话映射中获取它。让我们假设对象在会话映射中存储的实际键是“myObjKey”。因此,不要使用“${myobj.elf}”,而是使用“${myObjKey.elf}”

于 2013-05-17T13:15:23.480 回答