最近这段时间一直在研究HTML和JavaScript的安全问题,这里先整理一下Html的安全隐患。
一.Html安全隐患
1.CSRF攻击【漏洞】
之前外我写过一篇《浅谈CSRF攻击方式》,如果想详细了解CSRF原理及其防御之术,可以看一下。
这里简单距个例子说明一下:
存在CSRF漏洞Html代码:
<form action="Transfer.php" method="POST"> <p>ToBankId: <input type="text" name="toBankId" /></p> <p>Money: <input type="text" name="money" /></p> <p><input type="submit" value="Transfer" /></p> </form>
以上漏洞的攻击代码:
<form method="POST" action="http://www.Bank.com/Transfer.php"> <input type="hidden" name="toBankId" value="hyddd"> <input type="hidden" name="money" value="10000"> </form> <script> document.usr_form.submit(); </script>
如果用户在登陆www.Bank.com后,访问带有以上攻击代码的页面,该用户会在毫不知情下,给hyddd转账10000块。这就是CSRF攻击。
2.包含不同域的Js脚本【隐患】
在Html页面中,包含如:
<script src="http://www.hyddd.com/hello.js"/>
不同域的脚本文件,是一种值得慎重考虑的行为,因为你把本站点的安全和其他站点的安全绑定在一起了。黑客可以通过入侵修改www.hyddd.com的hello.js文件,达到攻击的效果。比如说:JavaScript Hijacking(关于JavaScript Hijacking可以参考《深入理解JavaScript Hijacking原理》)。
3.Html中的Hidden Field【隐患】
注意对隐藏字段的使用。比如hidden的<input>标签。
不要把敏感的信息存放在隐藏字段中,以防被别人更改替换和浏览器缓存。
4.上传文件【隐患】
请慎重对待上传文件这一功能,因为攻击者有可能借这个机会执行恶意代码,如图:
所以请小心处理上传文件功能。
以上是我搜集到的4种关于Htm的安全隐患,仅仅是和Html相关的问题,不包括,如:JSP,ASP...,资料的主要来源都是Fortify的一些文章 。如有错漏或者补充,请和我联系:>
转载请说明出处,谢谢![hyddd(http://www.cnblogs.com/hyddd/)]
二.参考资料
1.《Input Validation and Representation Fortify Software》
2.《Common Weakness Enumeration》
3.《浅谈CSRF攻击方式》,作者:hyddd
本文转自hyddd博客园博客,原文链接:http://www.cnblogs.com/hyddd/archive/2009/07/05/1517047.html,如需转载请自行联系原作者。