SlideShare a Scribd company logo
1 of 3
Download to read offline
Csrf 攻击原理及防御措施
                           feifengxlq@gmail.com




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,诱使登录用户或者网站管理员进行点击。
第二步、在点击目标网站,编写恶意提交代码, 比如




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




Csrf 实例测试

简单的搞定两个域:bingo 和 phpobject。Bingo 是工具目标。
在 bingo 有两个页面
Login.php:登录页面。只是简单的设置一个 cookie。




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




Phpobject 只有一个简单的页面
Hack.php




测试开始:
1、 首先登录。http://bingo/test/tbs/login.php
2、 提交测试。




3、 恶意提交,来自
http://phpobject/hack.php



点击结果




结果:csrf 攻击成功。

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


Csrf 解决根本方法

在提交请求中,附带一个唯一标识用户的加密串,该加密串需要做到不能被伪造,和用户一
一对应,但不固定。(所以不能采用 uid 做加密因子)

More Related Content

Viewers also liked

the NML project
the NML projectthe NML project
the NML projectLei Yang
 
Xldb2011 wed 1415_andrew_lamb-buildingblocks
Xldb2011 wed 1415_andrew_lamb-buildingblocksXldb2011 wed 1415_andrew_lamb-buildingblocks
Xldb2011 wed 1415_andrew_lamb-buildingblocksliqiang xu
 
Nginx internals
Nginx internalsNginx internals
Nginx internalsliqiang xu
 
Nginx维护手册
Nginx维护手册Nginx维护手册
Nginx维护手册Lei Yang
 
Xldb2011 tue 1055_tom_fastner
Xldb2011 tue 1055_tom_fastnerXldb2011 tue 1055_tom_fastner
Xldb2011 tue 1055_tom_fastnerliqiang xu
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践rewinx
 

Viewers also liked (6)

the NML project
the NML projectthe NML project
the NML project
 
Xldb2011 wed 1415_andrew_lamb-buildingblocks
Xldb2011 wed 1415_andrew_lamb-buildingblocksXldb2011 wed 1415_andrew_lamb-buildingblocks
Xldb2011 wed 1415_andrew_lamb-buildingblocks
 
Nginx internals
Nginx internalsNginx internals
Nginx internals
 
Nginx维护手册
Nginx维护手册Nginx维护手册
Nginx维护手册
 
Xldb2011 tue 1055_tom_fastner
Xldb2011 tue 1055_tom_fastnerXldb2011 tue 1055_tom_fastner
Xldb2011 tue 1055_tom_fastner
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
 

More from liqiang xu

Xldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_inXldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_inliqiang xu
 
Xldb2011 tue 0940_facebook_realtimeanalytics
Xldb2011 tue 0940_facebook_realtimeanalyticsXldb2011 tue 0940_facebook_realtimeanalytics
Xldb2011 tue 0940_facebook_realtimeanalyticsliqiang xu
 
Xldb2011 tue 1120_youtube_datawarehouse
Xldb2011 tue 1120_youtube_datawarehouseXldb2011 tue 1120_youtube_datawarehouse
Xldb2011 tue 1120_youtube_datawarehouseliqiang xu
 
Selenium私房菜(新手入门教程)
Selenium私房菜(新手入门教程)Selenium私房菜(新手入门教程)
Selenium私房菜(新手入门教程)liqiang xu
 
大话Php之性能
大话Php之性能大话Php之性能
大话Php之性能liqiang xu
 
1.4亿在线背后的故事(2)
1.4亿在线背后的故事(2)1.4亿在线背后的故事(2)
1.4亿在线背后的故事(2)liqiang xu
 

More from liqiang xu (6)

Xldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_inXldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_in
 
Xldb2011 tue 0940_facebook_realtimeanalytics
Xldb2011 tue 0940_facebook_realtimeanalyticsXldb2011 tue 0940_facebook_realtimeanalytics
Xldb2011 tue 0940_facebook_realtimeanalytics
 
Xldb2011 tue 1120_youtube_datawarehouse
Xldb2011 tue 1120_youtube_datawarehouseXldb2011 tue 1120_youtube_datawarehouse
Xldb2011 tue 1120_youtube_datawarehouse
 
Selenium私房菜(新手入门教程)
Selenium私房菜(新手入门教程)Selenium私房菜(新手入门教程)
Selenium私房菜(新手入门教程)
 
大话Php之性能
大话Php之性能大话Php之性能
大话Php之性能
 
1.4亿在线背后的故事(2)
1.4亿在线背后的故事(2)1.4亿在线背后的故事(2)
1.4亿在线背后的故事(2)
 

Csrf攻击原理及防御措施

  • 1. Csrf 攻击原理及防御措施 feifengxlq@gmail.com 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,诱使登录用户或者网站管理员进行点击。
  • 2. 第二步、在点击目标网站,编写恶意提交代码, 比如 第三步、出发该恶意代码。有非常多的方式,比如说点击,甚至有可能是鼠标移动。 Csrf 实例测试 简单的搞定两个域:bingo 和 phpobject。Bingo 是工具目标。 在 bingo 有两个页面 Login.php:登录页面。只是简单的设置一个 cookie。 Submit.php:提交操作页面,也只是简单的获取请求中的 cookie Phpobject 只有一个简单的页面 Hack.php 测试开始: 1、 首先登录。http://bingo/test/tbs/login.php
  • 3. 2、 提交测试。 3、 恶意提交,来自 http://phpobject/hack.php 点击结果 结果:csrf 攻击成功。 Csrf 能成功的根本原因是:浏览器是根据提交目标源选择 cookie 的,无视你提交操作的来 源 URL。 Csrf 解决根本方法 在提交请求中,附带一个唯一标识用户的加密串,该加密串需要做到不能被伪造,和用户一 一对应,但不固定。(所以不能采用 uid 做加密因子)