我注意到我可以使用以下语法在HTML输入中注入脚本:
'-alert("test")-'
我尝试通过删除C#中的所有特殊字符来解决问题:
Request.Params["s"] // i delete here all the special characters
然而,尽管如此,脚本仍在执行,我真的不明白为什么。 如果有人能对这个问题有所了解,请提前谢谢
PS:用于删除特殊字符的代码:
public static string RemoveSpecialCharacters(string str)
{
StringBuilder sb = new StringBuilder();
foreach (char c in str) {
if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c == '.' || c == '_') {
sb.Append(c);
}
}
return sb.ToString();
}