header头referer字段反射xss利用

admin 2021年4月2日20:10:55评论0 views字数 1442阅读4分48秒阅读模式

headerreferer字段反射xss利用

##伪造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宣布,他们终…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月2日20:10:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   header头referer字段反射xss利用https://cn-sec.com/archives/317011.html

发表评论

匿名网友 填写信息