提交表格仍有来自XSS的风险

时间:2015-03-09 16:08:49

标签: 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参数的内容时是否应该做其他事情? 我不确定扫描要我做什么......

此外,上述表格是否仍可以使用“已批准”值以外的其他方式提交?

只要不向攻击者提供太多信息,这是否可以?

1 个答案:

答案 0 :(得分:2)

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

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

e.g。 如果页面输出myVarmyVar的值为<script>alert(1)</script>,这会导致显示弹出对话框,那么它就会容易受到攻击。