# 浏览器安全（一）

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2013-08-28T07:03:00Z
Canonical: https://wepostx.com/topics/1057

> 乌云历史资料归档
>
> **原始作者：** 杀戮
> **原始编号：** superkieran-wooyundrops:78
> **原始发布时间：** 2013-08-28 15:03
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

## 0x00 背景

嗯，长短短要求我写一篇关于浏览器安全的文章，所以我出现了，求大神不吐槽，本人渣技术。
这篇文章很多地方借鉴了黑哥Kcon和于旸hitcon的PPT。

## 0x01 简介

如何看待浏览器安全，总之就是战场大小的问题。有多少功能，就有多少攻击面。缓冲区溢出什么的是高富帅的东西，好好当屌丝，别看了。
什么是功能，比如为了用户体验加上的功能，比如历史记录，浏览器插件，调试器..........比如浏览器本身功能导致的问题，CSS所能达到的伪造，高权限的DOM，地址栏的各种协议等等。

## 0x02 如何学习

如何学习这方面的知识，说实在的，浏览器安全比较冷门，别指望有坑货会为这方面写书。只能丢一些链接出来：
[http://code.google.com/p/browsersec/](http://code.google.com/p/browsersec/)
[http://www.unicode.org/reports/tr36/](http://www.unicode.org/reports/tr36/)
[http://ha.ckers.org/weird/](http://ha.ckers.org/weird/)
[http://kotowicz.net/absolute/](http://kotowicz.net/absolute/)
主要的还是看自己的猥琐程度，只要能达到看见妹纸能往XSS方面联想那你就无往不利了。

## 0x03 基础

### 攻击面：

#### 浏览器本身
危险的DOM操作SUCH AS [WooYun: 关于IE页面欺骗漏洞](http://www.wooyun.org/bugs/wooyun-2013-022437)
CSS 的伪造 SUCH AS 通过CSS伪装状态栏等。。
地址栏的协议 SUCH AS [WooYun: Safari location污染漏洞](http://www.wooyun.org/bugs/wooyun-2013-016895)

#### 扩展功能
插件安全 SUCH AS [WooYun: 傲游浏览器本地域突破（浏览器插件风险）](http://www.wooyun.org/bugs/wooyun-2013-022263)
历史记录 SUCH AS [WooYun: 猎豹浏览器存储xss(本地域权限)](http://www.wooyun.org/bugs/wooyun-2013-028185)
扩展功能 等等....................

### 漏洞利用

#### 命令执行：
特权API : [WooYun: 360安全浏览器远程代码执行漏洞](http://www.wooyun.org/bugs/wooyun-2010-020)
缓冲区溢出: [http://www.2cto.com/Article/201308/238149.html](http://www.2cto.com/Article/201308/238149.html) 充数的 不要在意

#### 信息探测：
探测历史记录
本地文件

## 0x04 找到奶糖

浏览器的本质是为了方便用户浏览网页，所以我们的攻击代码最终都是存在与网页上的，我们要攻击一个浏览器，要看浏览器如何处理我们的代码，火狐的firebug曾经爆出过浏览器命令执行， 漏洞的成因就是firebug提取网页内容时过滤不严谨，导致可以在特权区域调用特权API执行代码。
Such As : Chrome
我们先确定一个突破点，我们把注意力放在谷歌插件上。
我们确定一个插件，我们已经发现它对网页内容进行提取。

![原文图片](/media/2016/06/f052386f733864d6ebd157d768e7fc56)

插件提取了 title 和 Url 我们构造一个页面
POC:

```text
#!html "><iframe src=http://drops.wooyun.org ></iframe><a
```

![原文图片](/media/2016/06/a2635a746af11f0c133ab7d19571e42e)

很早的时候谷歌就意识到了插件的安全问题并且加了防范，所以在这个特权区域执行js比较困难。这里只是打个比方，说明下浏览器处理网页内容造成的危害。
比如历史记录造成的问题。
Such As: 360浏览器
输入网址

```text
http://hao.360.cn/#"><script>alert(document.domain);</script>
```
查看历史记录

![原文图片](/media/2016/06/801bd41bfa0b4dbab95d05c46455c4ae)

同样也是对网页内容的抓取，同时还有很多地方存在安全问题，比如调试器。

![原文图片](/media/2016/06/aeb1b2f48f57fb8ada9f312ca922f260)

哥几个高抬贵手啊，我这个还有点用，就不说内容了。

## 0x05 奶糖和琥珀

如何找到漏洞，要注意的是注意浏览器中的每一个点。
一般命令执行的方式

```text
确定特权域 --> 寻找特权域的XSS --> 查看可调用的API --> 编写 exp --> 攻击
```
这个流程我们来走一遍
打个比方说，我们要攻击傲游浏览器。
确定特权域

![原文图片](/media/2016/06/20e8e446056ecbd5e3ae2fe5af3f09b8)

这是一个傲游的特权区域，我们先确定这个页面对网页进行怎么样的抓取。

![原文图片](/media/2016/06/a83b477caeef211e304d29e39ec048d2)

我们点一下 加号 可以看到这些 ，我们可以判定 它对我们经常访问的title进行了提取。
假设它并没有对title进行过滤。我们构造网页
POC:

```text
#!html <title><script>alert(document.domain);</script></title>
```

![原文图片](/media/2016/06/0cbbbbb544334f9d02fb2336b1c78d64)

现在我们简单查看下有什么高权限的API可以调用。

![原文图片](/media/2016/06/5153147b850c168b9b40e093844786de)

通过审查这些API我们可以抽取出高权限的API来进行攻击。

## 0x06 有过的漏洞？

– CVE-2002-0189
– CVE-2002-1187
– CVE-2002-1688
– CVE-2003-1328(MS03-004)
– CVE-2005-0054(MS05-014)
– CVE-2006-3643(MS06-044)

## 0x07 结尾

嗯。。。。其实还有一些要点，第二篇再说吧，好累 睡觉去了，改天我要捅死短短。

## Replies
