来源:自学PHP网 时间:2015-04-15 15:00 作者: 阅读:次
[导读] 内容: 1 跨站脚本攻击XSS 2 跨站请求伪造CSRF一、跨站脚本攻击XSS 1 1 什么是XSS 跨站脚本攻击(Cross Site Script为了区别于CSS简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当用户...
内容: 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.2cto.com/Article/201205/130728.html CSRF攻击是源于WEB的隐式身份验证机制!WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com