0

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

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参数的内容?我不确定扫描要我做什么...

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

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

4

1 回答 1

2

正如@dandavis评论的那样,如果myVar查询字符串参数的值没有输出到页面,则不会发生 XSS。

阅读有关跨站点脚本 (XSS) 的 OWASP 页面以获取更多信息,但基本上,如果页面未正确编码来自不受信任来源的输出,则该页面容易受到 XSS 攻击。

例如,如果页面输出 和的值myVar并且这会导致显示弹出对话框,那么它将很容易受到攻击。myVar<script>alert(1)</script>

于 2015-03-10T09:42:44.823 回答