灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2839回复:0

IE9 Self-XSS 黑盒保护功能绕过

楼主#
更多 发布于:2013-02-19 11:16
来无聊...翻个帖子 当做是玩玩-_- 英语不是很牛逼 翻译不是很到位 不要怪我...
理解个大概就可以了

出处是http://soroush.secproject.com/blog/2012/08/ie9-self-xss-blackbox-protection-bypass/.

-======================亲爱的分割线=================================
说实话 self-xss不知道咋翻译 个人理解起来就是类似在地址栏 javascript:之类的 差不多的伪协议...
在IE9里.为了安全起见,MS会把前面的协议去掉..比如你尝试在地址栏里输入javascript:alert(1),实际上只是alert(1),
在最新的版本里, IE的这个机制依然能发现一些特殊字符开头的协议。。。比如 0x20 和 Control Characters (0×00-0x1F– not 0×00 and 0x7F), and Colon (0x3A) (google chrome is currently vulnerable tothis http://code.google.com/p/chromium/issues/detail?id=123213). 所以,就算你加密了一次javascript:// ,还是会被识别 并且去掉。。比如这样的你试试
%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%3A%20javascript:alert(1)

但是..在IE里 有个协议比较特殊,那就是file://

1- 在协议前加任意一个字母 比如(e.g. “Xfile:”), 或者在协议后最多加3个任意字母 (e.g. “fileXXX:”),要么在最前面或者后面随便加一个(e.g. “XfileX:” )

2-接下来,在冒号后面加任意多 经过urlencode的字符。。。(e.g. “XfileX:%20%0A%1F”)

3- 然后在后面输入javascript:alert(1)....(e.g. “XfileX:%20%0A%1F javascript:YourCode Here”.

4- 随意打开一个网站 比如renren.com

5- 然后把刚才那段代码复制到地址栏里...回车 (e.g.“XfileX:%20%0A%1Fjavascript:alert(document.cookie)”)

6- 你应该可以看到弹出来的renren的cookie吧!

好 给出2个简单的exp:

Filexx:%09javascript:alert(1)

xfile:%20vbscript:msgbox(1)

以下几个exp可以在不同版本的IE里工作...作者没注明版本. 自己看着办吧

XfileX:c:/

XfileX:%windir%

....这句话就不翻译 没意思了~

喜欢0 评分0
游客

返回顶部