javascript - 提交表单仍然存在 XSS 风险

标签 javascript jsp xss getparameter

我被指派修复遗留代码的安全问题,并获得了安全扫描的结果:

Poor Error Handling: Server Error Message ( 10932 ) 

基本上,当扫描尝试使用一些奇怪的代码进行访问时:

www.mywebsite.com/myapp/jspPage.jsp?myVar=Approved%26rhppvar%3DRHPP1234

服务器返回 500 错误代码,但我有页面向最终用户显示“发生错误”。

myVar 实际上应该只被“批准”或“拒绝”

**jspPage.jsp**

String myVar= request.getParameter("myVar");
if(myVar== null)
    myVar= "";

 <form method="post" name="ics" action="jspPage.jsp?myVar=Approved"> 

我想知道我是否应该做其他事情来检查传递给 myVar 参数的内容? 我不确定扫描要我做什么...

此外,上述表格是否仍可以使用批准值以外的其他内容提交?

只要不向攻击者提供太多信息就可以吗?

最佳答案

@dandavis注释,如果 myVar 的值查询字符串参数不输出到页面则不会发生XSS。

阅读OWASP page on Cross-site Scripting (XSS)了解更多信息,但基本上,如果页面未正确编码来自不受信任来源的输出,则该页面容易受到 XSS 攻击。

例如如果页面输出值 myVarmyVar<script>alert(1)</script>这会导致显示一个弹出对话框,那么它就会受到攻击。

关于javascript - 提交表单仍然存在 XSS 风险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28946617/

相关文章:

css - CSS 样式表中的跨站点脚本

javascript - 无法读取未定义的属性 'use_env_variable'

javascript - 从 haml link_to 调用 javascript 函数

javascript - 使用 PHP/Javascript 将 html 表转换为文本文件

javascript - 如果选中复选框则禁用输入

java - 如何从两个数组列表中列出选择框中的所有描述

javascript - 避免面板中的列 - extjs

java - Spring Security - 显示特定于登录用户的内容

javascript - cookie 安全吗?

Javascript 选项卡导致 HP fortify 扫描中出现严重错误 (XSS)