验证和编码

验证是检查输入数据以确保其格式良好的过程。Validation.Required 发现指示沿着从源到接收器的给定数据路径没有发生验证。验证可以很简单,就是将数据绑定到最大长度,也可以很复杂,要检查名称和地址是否格式良好。验证还可以通过检测启用这些攻击的非法字符序列来检查攻击,例如:SQL 注入。

编码是将数据变换为格式良好的状态的过程。Validation.EncodingRequired 发现指示沿着从源到接收器的给定数据路径没有发生编码。编码可以很简单,就是转义字符,也可以很复杂,要加密数据。编码还可以通过将导致这些攻击的字符转义来阻止攻击,例如:跨站点脚本编制。

首次扫描时,AppScan® 可能会将结果标识为可疑安全性结果。当您创建应用于特定源代码的验证或编码例程时,如果 AppScan® Source for Analysis 在从此源代码接收到数据后该指定验证或编码例程未被调用,那么它会将此结果报告为明确结果(而不是可疑结果)。

评估跟踪整个项目中已知源的数据。如果可以从已知源跟踪数据到已知接收器,那么指定的验证和编码例程可以确保不会以极大的输入数据进行恶意攻击。