我们在ASP.Net和C#中有一个遗留的Web应用程序,我们得到了大约400个以及Veracode扫描引发的跨站点脚本漏洞.我已经创建了一个示例Web应用程序并模拟了该问题,并发现每当我们使用任何字符串输入时,它就会提高它的缺陷.这样做HttpUtility.HtmlEncode(TextBox1.Text);"满足Veracode的,但是应用在所有400位这种变化是不可行的话就工作和测试工作巨量.我正在寻找在httphandler中实现一些插件,以便所有输入都在一个地方编码,我们无需在任何地方进行更改.有人可以引导我,如果这是可能的,如果是,即使你可以指导我只是接近将足够好,至少有一个方向.提前谢谢了.
StringOps strop = new StringOps();
string txt1, txt2;
txt1 = HttpUtility.HtmlEncode(TextBox1.Text);
txt2 = HttpUtility.HtmlEncode(TextBox2.Text);
Response.Write(strop.Add(txt1, txt2));
Run Code Online (Sandbox Code Playgroud)
如果我删除了HttpUtility.HTMLEncode行,Veracode会抱怨它.由于我们正在进行这种字符串操作的地方很多,因此无处不在.是否可以在单个位置实现此编码,并且所有响应和请求都应该通过该管道,例如HTTPHandler和HTTPModule.
我有一个对象集合,我希望根据函数调用删除一些对象将返回true或false.请参阅下面的示例代码snipette -
for each(MyClass obj in Objects)
{
if(!ValidateObject(obj)
{ Objects.Remove(obj); }
}
Run Code Online (Sandbox Code Playgroud)
我不想在这里使用循环.上面的样品需要一个衬垫代码.提前致谢.