专家深入解析跨站请求伪造漏洞(上)
2008-12-25 13:44:09 来源:WEB开发网总之,只要身份认证是隐式进行的,就会存在CSRF攻击的危险,因为浏览器发出请求这一动作未必是受用户的指使。原则上,这种威胁可以通过对每个发送至该站点的请求都要求用户进行显式的、不可欺骗的动作(诸如重新输入用户名和口令)来消除,但实际上这会导致严重的易用性问题。大部分标准和广泛应用的认证机制都无法防止CSRF攻击,所以我们只好另外探求一个实用的解决方案。
四、CSRF攻击向量
成功发动攻击前提是,用户必须已经登录到目标站点,并且必须浏览了攻击者的站点或被攻击者部分控制的站点。如果一个服务器有CSRF漏洞,并且接受GET请求(就像上面的例子那样),那么无需使用JavaScript就可以发动CSRF攻击,例如,只需使用{IMG}标签就可以搞定。如果该服务器仅接受POST请求,那么要想从攻击者的站点自动发送POST请求到目标站点的话,就必须使用JavaScript。
五、CSRF与XSS
近来,跨站脚本攻击(XSS)漏洞引起了人们的广泛注意。XSS攻击通常是指,攻击者向一个站点注入恶意代码(通常为JavaScript),以攻击该站点的其它用户(即攻击的最终目标并非站点本身)。例如,站点可能允许用户发表评论,这样的话,评论由用户张贴,然后被存储在站点的数据库中,最后会展示给该站点的所有用户。如果攻击者能在评论中夹杂上恶意JavaScript代码的话,那么这些JavaScript代码就会嵌入到所有包含该评论的页面中。当一个用户访问该站点时,攻击者的JavaScript代码就被执行,执行权限具有目标站点一切特权。嵌入目标站点的恶意JavaScript代码将能发送和接收来自该站点上的任何页面的请求,并能够访问由该站点设置的cookie。要想防御XSS 攻击,站点必须仔细过滤所有的用户输入,以确保不被注入恶意代码。
- ››解析更新后的各种功能(1.8)
- ››解析Windows XP注册表的常用设置
- ››解析赚钱新思路 地方站长认清形势自力更生
- ››解析医院网站营销的成功运营策略
- ››深入理解Android消息处理系统——Looper、Handler...
- ››深入理解SET NAMES和mysql(i)_set_charset的区别
- ››深入理解Mysql字符集设置
- ››深入浅出实战攻防恶意PDF文档
- ››深入剖析防火墙策略的执行过程:ISA2006系列之六
- ››解析Windows密码安全问题(第三部分)
- ››深入JavaScript与.NET Framework中的日期时间(3)...
- ››深入JavaScript与.NET Framework中的日期时间(2)...
更多精彩
赞助商链接