Csrf攻击原理及防御措施

5,341 views

Published on

CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,341
On SlideShare
0
From Embeds
0
Number of Embeds
2,039
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Csrf攻击原理及防御措施

  1. 1. Csrf 攻击原理及防御措施 feifengxlq@gmail.comcsrf 简介百科相关介绍:http://baike.baidu.com/view/1609487.htm?fr=ala0_1_1CSRF(Cross-site request forgery 跨站请求伪造,也被称成为“one click attack”或者 sessionriding,通常缩写为 CSRF 或者 XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS) ,但它与 XSS 非常不同,并且攻击方式几乎相左。XSS 利用站点内的信任用户,而CSRF 则通过伪装来自受信任用户的请求来利用受信任的网站。与 XSS 攻击相比,CSRF 攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比 XSS更具危险性。关键字:不大流行、难以防范、更具危险性。Csrf 原理图Csrf 攻击三步走第一步、到目标网站发一个极具诱惑力的 link,诱使登录用户或者网站管理员进行点击。
  2. 2. 第二步、在点击目标网站,编写恶意提交代码, 比如第三步、出发该恶意代码。有非常多的方式,比如说点击,甚至有可能是鼠标移动。Csrf 实例测试简单的搞定两个域:bingo 和 phpobject。Bingo 是工具目标。在 bingo 有两个页面Login.php:登录页面。只是简单的设置一个 cookie。Submit.php:提交操作页面,也只是简单的获取请求中的 cookiePhpobject 只有一个简单的页面Hack.php测试开始:1、 首先登录。http://bingo/test/tbs/login.php
  3. 3. 2、 提交测试。3、 恶意提交,来自http://phpobject/hack.php点击结果结果:csrf 攻击成功。Csrf 能成功的根本原因是:浏览器是根据提交目标源选择 cookie 的,无视你提交操作的来源 URL。Csrf 解决根本方法在提交请求中,附带一个唯一标识用户的加密串,该加密串需要做到不能被伪造,和用户一一对应,但不固定。(所以不能采用 uid 做加密因子)

×