我一直在研究有关持久XSS攻击的安全性问题,并且能够使用fortify分析此问题。
将未经验证的数据发送到Web浏览器,这可能导致浏览器执行恶意代码。
代码使用Java。
void output(OutputStream out){
out.write(byteData); //byteData is a data member of the class of type byte[].
}
在以上代码片段的第(2)行中,我收到了xss攻击的通知。
那么我该如何验证呢?
最佳答案
您必须先验证数据,然后再将其发送到OutputStream
void output(OutputStream out) {
// Validate byteData code here
out.write(byteData);
}
验证意味着检查代码是否遵守要为其设置的规则。例如,如果只想发送数字,则可以确保在发送字节数据之前,byteData只包含数字。