内容:

    1.跨站脚本攻击XSS

    2.跨站请求伪造CSRF

一、跨站脚本攻击XSS

   1.1 什么是XSS

      跨站脚本攻击(Cross Site Script为了区别于CSS简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。比如:有些人在留言板中输入恶意脚本来获取用户的帐号和密码。

  1.2 XSS的危害

     1.2.1 盗取种类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

     1.2.2 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

     1.2.3 盗窃企业重要的具有商业价值的资料

     1.2.4 非法转账

     1.2.5 强制发送电子邮件

     1.2.6 控制受害者机器向其它网站发起攻击

  1.3.如何防止

     最常见的是对特殊字符如”<”,”>”进行转义,当然其它的手法防止手法,大家可以参考其它资料

 二、跨站请求伪造CSRF

    2.1 什么是CSRF

       CSRF是Cross Site Request Forgery的缩写,乍一看和XSS差不多的样子,但是其原理正好相反,XSS是利用合法用户获取其信息,而CSRF是伪造成合法用户发起请求。

   2.2 CSRF原理

      首先,你登录了银行网站A,然后访问危险网站B,噢,这时你会发现你的银行账户少了1000块……

  为什么会这样呢?原因是银行网站A违反了HTTP规范,使用GET请求更新资源。在访问危险网站B的之前,你已经登录了银行网站A,而B中 的<img>以GET的方式请求第三方资源(这里的第三方就是指银行网站了,原本这是一个合法的请求,但这里被不法分子利用了),所以你的浏 览器会带上你的银行网站A的Cookie发出Get请求,去获取资源“http://www.mybank.com /Transfer.php?toBankId=11&money=1000”,结果银行网站服务器收到请求后,认为这是一个更新资源操作(转账 操作),所以就立刻进行转账操作……

    CSRF攻击是源于WEB的隐式身份验证机制!WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的

    示意图

    

   2.3 如何防止CSRF攻击

      2.3.1 Cookie Hashing(所有表单都包含同一个伪随机值):

      2.3.2  验证码

      2.3.3 One-Time Tokens(不同的表单包含一个不同的伪随机值)

      2.3.4 WEB表单结构

      2.3.5 服务端核对令牌

   参考资料:http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

CSRF攻击是源于WEB的隐式身份验证机制!WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的

版权声明:本文为xiaowuzi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaowuzi/p/3554905.html