##伪造referer
自从flash修复伪造referer之后,目前没有已知的伪造referer的方式。
##利用跳转
跳转存在的问题就是在chrome和firefox中,query会被URL编码,IE不会。
跳转的方式主要有
META标签内跳转
javascript跳转
header头跳转
测试方式脚本,存在漏洞的页面:
在本地新建页面,代码如下,firefox中访问:
http://127.0.0.1/referer.html?
页面显示
123http://127.0.0.1/referer.html?%3Cxsscode%3E
IE8中测试,发现使用windows.location.href跳转,不会发送referer。(本文中提到的IE都是IE8测试),这个是IE的问题。可以通过其他的方式带上refer。这是另外一个问题了,这里不做过多讨论了,只提供一种可以利用的方式。
参考:http://www.gremwell.com/exploiting_xss_in_referer_header
也可以使用iframe,因为iframe发出的请求是带referer的
#使用子域名和路径。
跳转的时候使用子域名或者路径承载payload,子域名没有测试,测试了下路径,IE8会对路径中的"
##使用datauri
参考:http://masatokinugawa.l0.cm/2013/10/referrer-xss.html
感谢神秘的M提供的技术翻译。如下:
IE的情况比较简单。因为IE不会对query中的进行Encode,所以下面的这种情况在IE是可利用的:
http://l0.cm/xss_referrer.html?
但是Firefox.Chrome.Safari和IE却不同。他们会对query中的进行Encode,进而导致不能利用。所以我在这里和大家分享一个小的技巧(我自认为,这种手法是别人应该都还没有公开过的)
data:text/html,
当我们在data:URL中加上这个标签时,我们就可以让正常情况下无法发送referrer的data:URL变得可以发送referrer信息了。通过这种方式呢,我们就可以在Chrome和safari下包含一个可以正常执行的“"了.
当然,等firefox开始支持了,也许同样的方法也可以应用在firefox上面。
测试了下,最新版chrome这种方式已经不可以了。根据M的测试结果,目前,safari还是可以的。
文章来源于lcx.cc:header头referer字段反射xss利用
相关推荐: 视频: Wolfram 可以真正改变世界的编程语言 中文字幕
视频: Wolfram 可以真正改变世界的编程语言 中文字幕 字幕制作:罗兹 新浪微博:@FPS罗兹 开发出著名数学软件Mathematica和知识型搜索引擎Wolfram Alpha(Siri的幕后技术)的英国数学家Stephen Wolfram宣布,他们终…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论