ASP.NET优化:Sql注入和Html注入的黑帽SEO
我们会发现页面自动跳转到http://too.much.spam/页面!这就是所谓的“Html注入”。当page页面render到客户端后,浏览器会按一个普通的html页面进行解析;当解析到上面的js代码时…… 为了避免这种入侵,在asp.net中,我们最简单的处理方式就是对输入的内容进行“Html编码”。将后台代码改为:
现在我们再运行代码,发现源代码被原样输出显示在页面,并没有运行。为什么呢?查看输出页面的源代码: <span id="lblShow"><p>Sanitizing <img src=""INVALID-IMAGE" onerror=''location.href="http://too.much.spam/"''>!</p></span> 整理后,我们发现如下的映射转换: < -- < (less than) 所以js无法执行,但在页面显示时,我们确能看到“原汁原味”的js内容。 但问题并没有结束,现实世界中,输入的内容除了恶意代码以外,还可能有如下的内容:
我们希望显示蓝色的文字,但经过编码后,显然无法达到我们的效果。为此,我们还需要进行更精确的过滤。这也是为什么之前我们要设置EnableEventValidation=“false” ValidateRequest=“false”的现实原因。 其实我最先想到的方案是:首先对整个内容进行编码,然后把我们允许使用的html标签再替换回来。这样是相当保险的,但是在具体的操作中,遇到了很多问题,这个郁闷啊~~~(如果有谁有这种实现的实现代码,千万要拿出来大家分享一下呀 |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |