首页    新闻    下载    文档    论坛     最新漏洞    黑客教程    数据库    搜索    小榕软件实验室怀旧版    星际争霸WEB版    最新IP准确查询   
名称: 密码:      忘记密码  马上注册
安全知识 :: 专题文章

CSRF 在过去的n年(n>2)一直都火,在bh/defcon/owasp等会议上多次探讨CSRF的攻防[具体你可以看看以往的那些pp]


http://www.gipsky.com/
author: superhei

date: 2008-01-04

team:http://www.ph4nt0m.org

blog:http://superhei.blogbus.com



CSRF 在过去的n年(n>2)一直都火,在bh/defcon/owasp等会议上多次探讨CSRF的攻防[具体你可以看看以往的那些pp].前段时间 PLAYHACK.net上发表了一个总结性的pp:Preventing CSRF,然而CSRF是很难彻底防止的,这个也是我说CSRF卑鄙无耻的一个原因,下面我的一些Bypass Preventing CSRF的tips:



0x01.HTTP Referer



其实国内的CSRF攻击由来已久了,比如n年前的各大下载网站防止盗链,n前dvbbs的一个xss利用了csrf提升权限等等.在下载网站防止盗链的过程中很多就使用了通过判定HTTP Referer来限制,但是这样的Prevent很轻易就被绕过了.



0x01a.Attack From Inside

很多人都忽律了从site'内部'的攻击.

1.很多的web app都支持link/img等标签,然而通过这些标签访问的url的Referer都是本站的,所以攻击者只要在你的bbs 或者blog等上通过那些标签发一个你构造好的url,然后就是引诱admin了 :)

2.ie有很多特点如:txt/图片等里面的html/js会被执行,当年你可以通过上传你的构造的代码...[注重这里txt里js执行的domain和txt是同一个]

0x01b.伪造http header

1.客户端脚本:

a.js

XMLhttp.setRequestHeader() 但是xmlhttp不可以跨区域[当然你可以利用0x01a.2里的方式上传],所以一般的是要结合xss.

b.as

* XML.addRequestHeader()

* LoadVars.addRequestHeader() as里直接设置Header是有一些限制的,比如 .addRequestHeader("Refere", "AAA"); 这样是不行的.Rapid7在06年发布了一个可以绕过的巧妙方法: .addRequestHeader("Referer:http://anywhere\r\nX-foo", "bar"); 直接放到第1个参数. 这个bug已经被Adobe fix了,但是在htm调用swf时swf可以使用任意后缀,我们同样可以利用类似0x01a.2里的方法一样把swf上传[具体可以参考《Discuz!/phpwind flash标签的xss》]



2.服务端脚本:

基本上所有的服务端语言都有发http包的功能,如php的fsockopen(),asp的xmlhttp等等,所以可以通过外面服务端脚本来伪造一个 Referer[其实就是类似于nc] 这个一般只对于单纯的限制Referer而且没有身份验证的[因为你cookie没办法传递],所以这个基本可以YY的.



0x02.Hidden value



之所以用'Hidden value'做标题,是因为PLAYHACK文中写 '0x03a: Cookies Hashing' 和'0x04: One-Time Tokens'里产生的hash都是通过hidden value来传递.但是我们一样可以通过一些手段得到这个hash.



0x02a.利用xss执行js-xmlhttp在xmlhttp.responseText里得到hash:



xmlhttp.open("GET", siteurl "admincp.php?action=members", false);

xmlhttp.send();

var echo = xmlhttp.responseText;

var reg = /\http://www.playhack.net/view.php?id=31

1.XMLHttp参考手册:http://suwei.nanshapo.com/tech/webdev/ajax/xmlhttp/

2.Flash Lite 2.x ActionScript 语言参考: http://livedocs.adobe.com/flashlite/2 ... whimpl/js/html/wwhelp.htm

3.HTTP Header Injection Vulnerabilities in the Flash Player Plugin:http://www.rapid7.com/advisories/R7-0026.jsp

4.Discuz!/phpwind flash标签的xss :http://superhei.blogbus.com/logs/11792433.html

5.Request变量与csrf :http://superhei.blogbus.com/logs/11412189.html

6.轻轻绕过你的验证码 :http://blog.csdn.net/lake2/archive/2006/09/15/1224897.aspx [img width=500]styles/default/images/smilies/icon_sweat.gif" border="0[/img][sweat]" />
<< 你对XSS WORM了解多少? 验证码 kaptcha 杂谈 >>
评分
10987654321
API:
gipsky.com& 安信网络
网友个人意见,不代表本站立场。对于发言内容,由发表者自负责任。

系统导航

 

Copyright © 2001-2010 安信网络. All Rights Reserved
京ICP备14013333号-8