内容摘要:CSRF(Cross-site Request Forgery,跨站请求欺骗 )在过去的n年(n>2)一直都火,然而CSRF是很难彻底防止的,下面我的一些Bypass Preventing(旁注) CSRF的技巧……
CSRF(Cross-site Request Forgery,跨站请求欺骗 )在过去的n年(n>2)一直都火,在bh/defcon/owasp等会议上多次探讨CSRF的攻防。前段时间PLAYHACK.net上发表了一个总结性的:Preventing CSRF,然而CSRF是很难彻底防止的,下面我的一些Bypass Preventing(旁注) CSRF的技巧:
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 X-foo", "bar"); 直接放到第1个参数. 这个bug已经被Adobe fix了,但是在htm调用swf时swf可以使用任意后缀,我们同样可以利用类似0x01a.2里的方法一样把swf上传[具体可以参考《Discuz!/phpwind flash标签的xss》]
来源:ph4nt0m.org 作者:superhei 责编:豆豆技术应用
- 为现有存储组启用和禁用本地连续复制
- 深入底层 评估Vista内核模式的安全性
- 旁注保护跨站脚本请求欺骗(CSRF)
- Windows Vista系统中如何启动Java
- 快乐旅程 让Vista自动管理和刻录照片
- Fireworks折叠渐变巧妙打造电视雪花动画
- 使用Flash引导线制作雪花飘飘动画
- Flash MX实例:星星跟着鼠标走
- Auto木马群致毒霸2007无法启动解决方法
- “网络扒手”十大网游盗窃伎俩大曝光