一、什么是CSRF 攻击?
全称是Cross Site Request Forgery,即跨站请求伪造。利用用户已经登录的状态,跨站点发起伪造的请求。一般会诱导用户点击进黑客的网页。
特点:
- 跨站点的请求
- 请求是伪造的
- 利用用户的登录状态
二、CSRF类型
2.1 按照请求类型分为GET型和POST型。
例: GET型
目标网站A:www.a.com、恶意网站:B:www.b.com
攻击步骤
- 在恶意网站上编写代码<img src=http://www.a.com/blog/del?id=1>
- 用户登录目标网站
- 诱导用户点击恶意链接进入恶意网站(如:吸引人的图片)
- 恶意网站利用用户的已登录状态删除了id为1的博客,CSRF攻击发生
例: POST型
同上,黑客将自定义表格上传到服务器,向服务器中添加日志
2.2 按照攻击方式,分为HTML CSRF攻击、JSON HiJacking攻击、Flash CSRF攻击。
HTML CSRF攻击:HTML中能够设置src/href等链接地址的标签都能发起GET请求
三、危害
- 篡改目标网站的信息
- 盗用隐私数据
- 传播CSRF蠕虫
- 在页面中生成浮窗广告
- 删除目标文件、恶意篡改数据
四、防范措施
- 检查HTTP Referer字段是否同域
Referer的来源应该是站内网址,如果发现地址异常,可认为是CSRF攻击。 - 限制Session Cookie的生命周期
- 使用验证码
- 使用一次型token
token会随着表单的提交而提交,然后服务器校验token的合法性。
五、总结
CSRF(Cross-site request forgery), 即跨站请求伪造,指的是黑客诱导用户点击链接,打开黑客的网站,
然后黑客利用用户目前的登录状态发起跨站请求。
参考文献
《Web前端黑客技术揭秘》
1677

被折叠的 条评论
为什么被折叠?



