7500刀的accounts.google.com域下XSS分析(wooyun)

简介: GOOGLE现在XSS已经涨到3100~7500了,然后某著名日本猥琐流就发了一个accounts.google.com域下的XSS,在微博上看到@xisigr在新浪微博上发了链接,就去看了下,虽然看不懂日文,但还是分析了下。
GOOGLE现在XSS已经涨到3100~7500了,然后某著名日本猥琐流就发了一个accounts.google.com域下的XSS,在微博上看到@xisigr在新浪微博上发了链接,就去看了下,虽然看不懂日文,但还是分析了下。

原文链接:

http://masatokinugawa.l0.cm/2013/06/accounts.google.com-utf-32-xss.html

具体分析如下:

原本的缺陷地址为:https://accounts.google.com/NewAccount?oe=utf-32&Email=%E2%88%80%E3%B8%80%E3%B0%80script%E3%B8%80alert%281%29%E3%B0%80/script%E3%B8%80

根据我自己的理解,其中,oe参数应该是用来指定字段的输出编码(output encoding), email为输入,经过oe所指定的编码进行转换后,输出到页面的 <input type="text" value="[Email]" /> 里。

更简单的说就是, 如果我们Email输入  AAAAAA, oe=gbk 的情况下,  AAAAAA --> 转换为 gbk 编码 --> GBK编码下的[AAAAAAA] ,再输出到页面上。

于是,于是,漏洞发现者就猥琐了一把。。。

按照作者的思路,

1.首先, 将输出编码设置为 UTF-32。

UTF-32中,每4个字节表示一个字符, 比如

双引号 --> [0x00][0x00][0x00][0x22]
<括号 --> [0x00][0x00][0x00][0x3C]
>括号 --> [0x00][0x00][0x00][0x3E]

那么更好玩的是,在UTF-32中,这样也是有效字符:

[0x00][0x00][0x22][0x00] --> ∀
[0x00][0x00][0x3C][0x00] --> 㰀
[0x00][0x00][0x3E][0x00] --> 㸀

因而如果我们用上面这3个“怪怪”的字符来代替双引号和尖括号对的话,会出现什么情况呢?

"<script>alert(1)</script>

变为

∀㸀㰀script㸀alert(1)㰀/script㸀

2. 接着:∀㸀㰀script㸀alert(1)㰀/script㸀 ,在被转换为UTF-32编码后,输出到UTF-8编码的页面中,会输出为以下形式:

[0x00][0x00]"[0x00][0x00][0x00]<[0x00]script[0x00][0x00]>[0x00]alert(1)[0x00][0x00]<[0x00]/script[0x00][0x00]>[0x00]

3. 而在IE10以下的版本(未测试IE9,原文中截图为IE9,应该可以执行),HTML中的 [0x00] 会被无视掉,从而导致上面的代码被当作普通HTML执行。

空字节[0x00]不会影响上述代码的执行,具体见demo: http://xsst.sinaapp.com/nullbyte.htm

4. 为了更直观的看到这个漏洞,写了一个PHP页面,大家自行实验。

http://xsst.sinaapp.com/utf-32-1.php?charset=utf-32&v=%E2%88%80%E3%B8%80%E3%B0%80script%E3%B8%80alert(1)%E3%B0%80/script%E3%B8%80
目录
相关文章
|
编解码 数据可视化
Google Earth Engine —— MODIS影像数据集分析
Google Earth Engine —— MODIS影像数据集分析
256 2
|
计算机视觉
Google Earth Engine(GEE)——使用MODIS数据单点测试SG滤波和harmonics method 滤波的差异分析
Google Earth Engine(GEE)——使用MODIS数据单点测试SG滤波和harmonics method 滤波的差异分析
457 0
|
传感器 编解码 区块链
Google Earth Engine(GEE)——Landsat8/modis/sentinel2 NDVI时序影像差异对比分析图表
Google Earth Engine(GEE)——Landsat8/modis/sentinel2 NDVI时序影像差异对比分析图表
359 0
|
2月前
|
数据采集 XML 监控
Google Search Console 做SEO分析之“已发现未编入” 与 “已抓取未编入” 有什么区别?
在 Google Search Console (GSC) 中,“已发现 - 尚未编入索引”(Discovered - currently not indexed) 和 “已抓取 - 尚未编入索引”(Crawled - currently not indexed) 是两种不同的状态,如果你的站点也有这两种状态就需要注意优化了。
92 0
|
7月前
|
机器学习/深度学习 人工智能 JSON
知识蒸馏方法探究:Google Distilling Step-by-Step 论文深度分析
大型语言模型(LLM)的发展迅速,从简单对话系统进化到能执行复杂任务的先进模型。然而,这些模型的规模和计算需求呈指数级增长,给学术界和工业界带来了挑战。为解决这一问题,知识蒸馏技术应运而生,旨在将大型模型的知识转移给更小、更易管理的学生模型。Google Research 提出的“Distilling Step-by-Step”方法不仅减小了模型规模,还通过提取推理过程使学生模型在某些任务上超越教师模型。该方法通过多任务学习框架,训练学生模型同时预测标签和生成推理过程,从而实现更高效、更智能的小型化模型。这为资源有限的研究者和开发者提供了新的解决方案,推动了AI技术的普及与应用。
314 19
知识蒸馏方法探究:Google Distilling Step-by-Step 论文深度分析
|
机器学习/深度学习 自然语言处理 对象存储
[wordpiece]论文分析:Google’s Neural Machine Translation System
[wordpiece]论文分析:Google’s Neural Machine Translation System
207 1
|
安全 前端开发 Java
代码审计-Java项目&Filter过滤器&CNVD分析&XSS跨站&框架安全
代码审计-Java项目&Filter过滤器&CNVD分析&XSS跨站&框架安全
137 0
|
机器学习/深度学习 数据采集 数据可视化
R语言Pearson相关性分析降雨量和“外卖”谷歌搜索热度google trend时间序列数据可视化
R语言Pearson相关性分析降雨量和“外卖”谷歌搜索热度google trend时间序列数据可视化
|
数据可视化 搜索推荐 数据挖掘
R语言Pearson相关性分析就业率和“性别平等”谷歌搜索热度google trend时间序列数据可视化
R语言Pearson相关性分析就业率和“性别平等”谷歌搜索热度google trend时间序列数据可视化
|
数据可视化 数据挖掘 数据建模
R语言指数平滑法holt-winters分析谷歌Google Analytics博客用户访问时间序列数据
R语言指数平滑法holt-winters分析谷歌Google Analytics博客用户访问时间序列数据

热门文章

最新文章