51Testing软件测试论坛

标题: Html的安全隐患 [打印本页]

作者: hyddd    时间: 2009-7-5 22:56
标题: Html的安全隐患
最近这段时间一直在研究HTML和JavaScript的安全问题,这里先整理一下Html的安全隐患。
一.Html安全隐患
1.CSRF攻击【漏洞】
      之前外我写过一篇《浅谈CSRF攻击方式》,如果想详细了解CSRF原理及其防御之术,可以看一下。
      这里简单距个例子说明一下:
存在CSRF漏洞Html代码:
  1. <form action="Transfer.php" method="OST">
  2.     <p>ToBankId: <input type="text" name="toBankId" /></p>
  3.     <p>Money: <input type="text" name="money" /></p>
  4.     <p><input type="submit" value="Transfer" /></p>
  5. </form>
复制代码
以上漏洞的攻击代码:
  1. <form method="OST" action="http://www.Bank.com/Transfer.php">
  2. <input type="hidden" name="toBankId" value="hyddd">
  3. <input type="hidden" name="money" value="10000">
  4. </form>
  5. <script>
  6. document.usr_form.submit();
  7. </script>
复制代码
如果用户在登陆www.Bank.com后,访问带有以上攻击代码的页面,该用户会在毫不知情下,给hyddd转账10000块。这就是CSRF攻击。
2.包含不同域的Js脚本【隐患】
      在Html页面中,包含如:
  1. <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的一些文章 。如有错漏或者补充,请和我联系:>

二.参考资料
1.《Input Validation and Representation Fortify Software》
2.《Common Weakness Enumeration》
3.《浅谈CSRF攻击方式》,作者:hyddd
作者: ljdfdd    时间: 2009-7-8 10:46
写得很好,希望楼主能出个更深入的连载:)




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2