Html的安全隐患


最近这段时间一直在研究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.上传文件【隐患】

   请慎重对待上传文件这一功能,因为攻击者有可能借这个机会执行恶意代码,如图:


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3