【问题标题】:Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)网页中与脚本相关的 HTML 标签的不当中和(基本 XSS)
【发布时间】:2014-09-30 00:55:22
【问题描述】:

我正在尝试获取我的 web 服务应用程序的服务器详细信息

<tr>
 <td style="text-align: right">Remote Host Name:</td>
 <td><%= request.getRemoteHost() + ":" + request.getRemotePort()%></td>
</tr>

我最近运行了验证码,我遇到了getRemoteHost() 的问题,有什么建议可以防止它吗?

【问题讨论】:

  • 请更具体一点:您有什么问题?
  • 我是 veracode 扫描的新手,当我在其中运行我的应用程序时。我得到了 getRemoteHost() 的 XSS 漏洞。代码将显示远程主机名,它不用于任何其他操作。所以,我不知道如何解决它。
  • 这可能意味着如果有一个名为

标签: html jsp veracode


【解决方案1】:

这可能意味着如果有一个名为 ... 的主机,您的函数只是天真地回应它。

您应该通过只允许主机名中的有效字符来过滤输出。或者只是在回显之前对其进行 html 编码。

作为一般规则,您必须验证来自不受信任来源的所有输入,例如用户输入。

环境变量和http头通常被认为是安全的,但是随意更改它们相对容易。

问问自己主机名信息的来源。如果它是您的 dns 服务器,那么攻击者不太可能使用这种伪造的主机名污染它的缓存。如果信息来自 http 标头,那将非常容易。

【讨论】:

    【解决方案2】:

    您可以用来解决: 例如&lt;c:out value=request.getRemoteHost() /&gt;

    【讨论】:

      猜你喜欢
      • 2020-03-24
      • 1970-01-01
      • 1970-01-01
      • 2014-05-13
      • 2014-03-21
      • 2017-12-17
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多