spacer.gif spacer.gif 检测到目标服务器存在应用程序错误11
详细描述如果***者通过伪造包含非应用程序预期的参数或参数值的请求,来探测应用程序(如以下示例所示),那么应用程序可能会进入易受***的未定义状态。 ***者可以从应用程序对该请求的响应中获取有用的信息,且可利用该信息,以找出应用程序的弱点。 
例如,如果参数字段应该是单引号括起来的字符串(如在 ASP 脚本或 SQL 查询中),那么注入的单引号将会提前终止字符串流,从而更改脚本的正常流程/语法。 
错误消息中泄露重要信息的另一个原因,是脚本编制引擎、Web 服务器或数据库配置错误。 

以下是一些不同的变体: 
[1] 除去参数 
[2] 除去参数值 
[3] 将参数值设置为空值 
[4] 将参数值设置为数字溢出(+/- 99999999) 
[5] 将参数值设置为危险字符,如 ' " \' \" ) ; 
[6] 将某字符串附加到数字参数值 

解决办法[1] 检查入局请求,以了解所有预期的参数和值是否存在。 当参数缺失时,发出适当的错误消息,或使用缺省值。 
[2] 应用程序应验证其输入是否由有效字符组成(解码后)。 例如,应拒绝包含空字节(编码为 %00)、单引号、引号等的输入值。 
[3] 确保值符合预期范围和类型。 如果应用程序预期特定参数具有特定集合中的值,那么该应用程序应确保其接收的值确实属于该集合。 例如,如果应用程序预期值在 10..99 范围内,那么就该确保该值确实是数字,且在 10..99 范围内。 
[4] 验证数据属于提供给客户端的集合。 
[5] 请勿在生产环境中输出调试错误消息和异常。