csrf攻击原理及防御措施

3

Click here to load reader

Upload: liqiang-xu

Post on 17-May-2015

4.771 views

Category:

Documents


6 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Csrf攻击原理及防御措施

Csrf 攻击原理及防御措施

[email protected]

csrf 简介

百科相关介绍:http://baike.baidu.com/view/1609487.htm?fr=ala0_1_1

CSRF(Cross-site request forgery 跨站请求伪造,也被称成为“one click attack”或者 session

riding,通常缩写为 CSRF 或者 XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本

(XSS),但它与 XSS 非常不同,并且攻击方式几乎相左。XSS 利用站点内的信任用户,而

CSRF 则通过伪装来自受信任用户的请求来利用受信任的网站。与 XSS 攻击相比,CSRF 攻

击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比 XSS

更具危险性。

关键字:不大流行、难以防范、更具危险性。

Csrf 原理图

Csrf 攻击三步走

第一步、到目标网站发一个极具诱惑力的 link,诱使登录用户或者网站管理员进行点击。

Page 2: Csrf攻击原理及防御措施

第二步、在点击目标网站,编写恶意提交代码, 比如

第三步、出发该恶意代码。有非常多的方式,比如说点击,甚至有可能是鼠标移动。

Csrf 实例测试

简单的搞定两个域:bingo 和 phpobject。Bingo 是工具目标。

在 bingo 有两个页面

Login.php:登录页面。只是简单的设置一个 cookie。

Submit.php:提交操作页面,也只是简单的获取请求中的 cookie

Phpobject 只有一个简单的页面

Hack.php

测试开始:

1、 首先登录。http://bingo/test/tbs/login.php

Page 3: Csrf攻击原理及防御措施

2、 提交测试。

3、 恶意提交,来自

http://phpobject/hack.php

点击结果

结果:csrf 攻击成功。

Csrf 能成功的根本原因是:浏览器是根据提交目标源选择 cookie 的,无视你提交操作的来

源 URL。

Csrf 解决根本方法

在提交请求中,附带一个唯一标识用户的加密串,该加密串需要做到不能被伪造,和用户一

一对应,但不固定。(所以不能采用 uid 做加密因子)