浏览器安全学习笔记(一)

前言

在国际pwn大赛上,浏览器安全一直是重头戏,特别是神奇的沙盒穿越更是难上加难,本文开始分享学习浏览器安全的点点滴滴。

1.浏览器的Bug在哪里?

首先要了解漏洞出现在哪里,才知道怎样找到浏览器的漏洞

用户界面 浏览器引擎 渲染引擎 网络交互 JavaScript解释器 UI后端 数据持久层

2.了解常见漏洞类型

那么安全研究人员提交的浏览器漏洞都有哪些类型?

信息泄露 拒绝服务 代码执行 模糊测试 同源策略 内容安全策略 XHR 地址栏欺骗

何为Origin?

3. SOP - Same origin policy

在1996年Netscape规定,正常情况下,浏览器不会把页面A的数据给页面B

Demo Code:

如果这样一段代码可以让你在某个浏览器打开指定页面,那么恭喜你找到了一个SOP Bug

4. CSP - Content Security Policy

它是W3C维护的一个标准,用于保护浏览器受到的多种攻击,像:

UXSS SOP Code Injection Use Inline Styles Violation …

Demo Code:

我们可以打开这样一个网站,点击“run”帮助我们自动化的测试CSP Bug

Link:http://csptesting.herokuapp.com/

5. RCE - Remote Code Execution

https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILocalFile

例如Mozilla提供了一个组件“nsilocfile”,这个组件可以使用字符串来引用

‘@mozilla.org/file/local; 1’ -→ Contract ID,使用JavaScript和CID,我们可以引用任何其他组件

Demo Code:

#2 RCE - UI Backend

了解UI后端问题引起的RCE,

https://paper.seebug.org/719/

Edge RCE - UI Backend (CVE-2018-8495) Exploit Code:

6. Address Bar Spoofing

地址栏欺骗,阅读经典的CVE-2018-8383了解,

writeup:https://www.rafaybaloch.com/2018/09/apple-safari-microsoft-edge-browser.html

Edge Browser Address Bar Spoofing (CVE-2018-8383) Exploit Code:

7. Content Spoofing

内容欺骗是Spoofing攻击的子集,类似这样的组合,现在的浏览器基本不存在这样的问题了,

Demo Code:

#2 Content Spoofing:

Demo Code:

如果前后复制的内容有变化,你就找到了新的Bug

8. uXSS

本来想拿CVE-2018-6128(https://bugs.chromium.org/p/chromium/issues/detail?id=841105)举例,

但liveoverflow已经给了最好的教程(https://www.youtube.com/watch?v=0uejy9aCNbI),

这里集了大多数浏览器uxss的poc/exploit(https://github.com/Metnew/uxss-db),

可以尝试对各种国产浏览器进行测试,

因为国产浏览器都只是套Chromium,没修复的概率很大,混几个CVE应该不难

Demo Code:

9. bUG Bounty

报告漏洞有3个关键,确保拿到了钱,要有CVE ID,写writeup

Safari:product-security@apple.com Chrome:https://bugs.chromium.org/p/chromium/issues/ Mozilla Firefox:https://bugzilla.mozilla.org/home Others:…

Phish Test:

低成本

此类攻击有几个很有意思的特点,设置简单,成本低,高回报

伪造子域 & 拼写错误 同形异义字攻击 标签伪造URL

高回报

此类攻击的作用通常是窃取账号,或者用来给受害者安装恶意软件

伪造子域 & 拼写错误

http://www.google.com.evil.org http://www.evil.org/p/google.com/support/ http://www.rnicrosoft.com

类似于这样的域名书写,让人误以为这是正规网站,取得信任度以后接下 来的操作就会很方便

标签伪造URL,点进去看似谷歌的域名,会跑到”百度”上去

只要这样一段简单的html,放到网页,邮箱等地方

○印尼同形异义字攻击

(IDN homograph attack)

攻击手段且不说,当时我认为这是最容易获得一笔赏金的方式,

可以参考这些Report:

https://hackerone.com/reports/271324 https://hackerone.com/reports/172933 https://hackerone.com/reports/385372 https://hackerone.com/reports/59372

我们先来看一下Unicode是什么,打开Character Map,

尝试”www.freebuf.com“,

当然这样有点蠢,我们接下来试一试这个办法

●EvilURL

https://github.com/UndeadSec/EvilURL.git

我们用这样一个工具可以生成一个有Unicode的url,

打开地址会跳转到这样一个网址,

表示xn后面所有内容都是unicode编码的”,

因为DNS不支持,但你可以托管注册一个这样的域名,

以便跳转到假地址实施测试

●用社会工程学完成二次交互

像pwn2own这样的大赛上,一个浏览器的RCE可以让设备直接执行任何shellcode,

但这不符合大多数人实际情况,有一个解决办法就是用社会工程学,让对方下载然后打开我们的Payload,

在beef的这一栏目,像Chrome,Firefox的Bar,还有Fake Flash Update这些就符合需要,

它不仅仅是flash的一个欺骗框,配合对应的假图片和一点社工技巧,让对方运行你的恶意软件并不难。

以上就是对Phish Test的一些案例,有兴趣的朋友们可以实践一番

防范策略:

细看域名,不明白的链接不要点 面对挂马Nday及时安装安全补丁和杀毒防护软件 好奇心驱使一定要看的东西选择,物理隔离,虚拟机,沙箱

未完待续…

*本文作者:conusys,转载请注明来自FreeBuf.COM

推荐阅读

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2019-05-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券