提交表单仍然存在 XSS 风险
submitting form still risks from XSS
我被指派修复遗留代码的安全问题,我得到了安全扫描的结果:
Poor Error Handling: Server Error Message ( 10932 )
基本上,当扫描尝试使用一些奇怪的代码访问时:
www.mywebsite.com/myapp/jspPage.jsp?myVar=Approved%26rhppvar%3DRHPP1234
服务器 returns 500 错误代码,但我的页面向最终用户显示 "An error occurred"。
myVar
真的只能是 "Approved" 或 "Rejected"
**jspPage.jsp**
String myVar= request.getParameter("myVar");
if(myVar== null)
myVar= "";
<form method="post" name="ics" action="jspPage.jsp?myVar=Approved">
我想知道我是否应该做任何其他事情来检查传递给 myVar
参数的内容?
我不确定扫描要我做什么...
此外,上述表格是否仍可以使用批准值以外的值提交?
只要不向攻击者提供太多信息就可以吗?
如评论,如果myVar
查询字符串参数的值不输出到页面则不会发生XSS。
阅读 OWASP page on Cross-site Scripting (XSS) 了解更多信息,但基本上,如果页面未正确编码来自不受信任来源的输出,则该页面容易受到 XSS 攻击。
例如如果页面输出myVar
的值,myVar
的值为<script>alert(1)</script>
,导致弹出对话框,则存在漏洞.
我被指派修复遗留代码的安全问题,我得到了安全扫描的结果:
Poor Error Handling: Server Error Message ( 10932 )
基本上,当扫描尝试使用一些奇怪的代码访问时:
www.mywebsite.com/myapp/jspPage.jsp?myVar=Approved%26rhppvar%3DRHPP1234
服务器 returns 500 错误代码,但我的页面向最终用户显示 "An error occurred"。
myVar
真的只能是 "Approved" 或 "Rejected"
**jspPage.jsp**
String myVar= request.getParameter("myVar");
if(myVar== null)
myVar= "";
<form method="post" name="ics" action="jspPage.jsp?myVar=Approved">
我想知道我是否应该做任何其他事情来检查传递给 myVar
参数的内容?
我不确定扫描要我做什么...
此外,上述表格是否仍可以使用批准值以外的值提交?
只要不向攻击者提供太多信息就可以吗?
如myVar
查询字符串参数的值不输出到页面则不会发生XSS。
阅读 OWASP page on Cross-site Scripting (XSS) 了解更多信息,但基本上,如果页面未正确编码来自不受信任来源的输出,则该页面容易受到 XSS 攻击。
例如如果页面输出myVar
的值,myVar
的值为<script>alert(1)</script>
,导致弹出对话框,则存在漏洞.