html - 网页中与脚本相关的 HTML 标签的不正确中和(基本 XSS)

标签 html jsp veracode

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

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

我最近运行了 veracode,但我遇到了 getRemoteHost() 有关如何防止出现此问题的建议?

最佳答案

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

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

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

环境变量和 http header 通常被视为安全的,但任意更改它们相对容易。

问问自己主机名信息来自哪里。如果它是您的 DNS 服务器,则攻击者不太可能用此类伪造的主机名污染其缓存。如果信息来自 http header ,那就很容易了。

关于html - 网页中与脚本相关的 HTML 标签的不正确中和(基本 XSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25171395/

相关文章:

javascript - 如何在 JavaScript 中获取附加的 accodian

javascript - window.print() 在页面打印后从复选框中删除复选标记

java - 在 spring mvc 中,如何使用@RequestMapping 链接到另一个 jsp?

java - 排序方向上的 SQL 注入(inject)风险?

java - HTTP header 中 CRLF 序列的不当中和

html - 如何在 Bootstrap 列布局中的两个 div 之间添加空间?

jquery - 如何获取嵌套的 jQuery 选择器

java - Jsp 中的级联组合框与数据形成一个数据库。我怎么做?

java - Struts2 验证问题

c# - XXE:使用 XDocument 对 XML 外部实体引用的不当限制