如果在没有XSS字符串转义的页面中呈现一个参数,是否存在真正的安全漏洞问题?

时间:2012-10-19 02:17:19

标签: xss

背景: 我们使用工具扫描我们的系统。它发现了一个XSS漏洞。 扫描步骤: 注入项:POST:localeCountry< - 这是一个枚举值,不能更改为XSS字符串并存储在服务器中。 注射值:>'>警告(“XSS警告!”) 检测值:>'>提醒(“XSS警告!”) 在攻击响应页面中检测到,该页面位于链接内。

我认为这是一个无效的漏洞,因为注入的项目不会持久或影响其他用户。 最好逃避所有参数,但我想知道这个漏洞是否有效?

问题: 1.无论如何让其他用户通过此漏洞点击您的XSS陷阱?

1 个答案:

答案 0 :(得分:2)

是的,这绝对是一个漏洞。另一个站点上的某个人可以编写表单,如下所示:

<form action="http://example.com/vulnerable_service" method="POST">
    <input type="hidden" name="localeCountry" value="&gt;'&gt;alert('XSS!');">
    <input type="submit" value="Click me!!">
</form>

当用户点击攻击者网站上的该按钮时,他们将被重定向到您的网站,但他们的XSS代码将在您网站的安全上下文中运行,并可能会窃取cookie等。 (当然,POST可以通过JavaScript自动完成,这使得用户很难避免)。攻击字符串不需要存储在数据库中; XSS只是依赖于一个恶意字符串,而不会转义给用户。

故事的道德:你应该修复这个漏洞。