帮客户检查一份安全报告,其中提到了什么:跨站脚本漏洞、框架注入漏洞、链接注入漏洞……
其实就是一个问题——没有经 HtmlEncode,将提交的参数值直接输出到页面了。
当参数值是 <script>,被原样输出了,结论是:跨站脚本漏洞。
当参数值是 <iframe>,被原样输出了,结论是:框架注入漏洞。
当参数值是 <a>,被原样输出了,结论是:链接注入漏洞。
……
明明是一个漏洞,却被拆成 N 个漏洞。人多力量大吗?
也难怪,因为他们的安全建议,其中有一条是过滤掉:&、%、$、script、document 这些字符、单词,其实这些字符本没有罪,为什么要过滤他们?