0x01 浏览器0day常见的攻击方式
· 钓鱼攻击 (针对邮件与特定用户的攻击)
· 网页挂马 (挂黑页与水坑攻击)
· XSS (不需要渗透到主机修改代码)
· Wifi 劫持 (请移步到KFC 连接Wifi)
0x02 浏览器0day常见的漏洞与漏洞原理
浏览器常见漏洞
· 远程代码执行
· UXSS
浏览器远程代码执行
· 二进制(浏览器内核与JavaScript引擎)
· 浏览器插件(二进制漏洞与接口设计问题)
· Android 敏感接口泄漏(跨域调用特权域API)
浏览器远程代码执行漏洞之Android敏感接口泄漏
· WebView 与addJavascriptInterface() addJavascriptInterface() 添加Java 代码到WebView 作JavaScript 函数和类调用
Link : http://www.loner.fm/bugs/bug_detail.php?wybug_id=wooyun-2016-0187345
· intent 和伪协议 利用intent 和伪协议触发第三方APP 和应用程序启动
Link : http://www.loner.fm/bugs/bug_detail.php?wybug_id=wooyun-2016-0194107
IE 11 远程拒绝服务0day 演示
var crash = document.createEvent('MsGestureEvent'); crash
UXSS 与XSS 的区别 XSS :WEB 后台过滤不严格,导致用户的输入可以被浏览器执行;
UXSS :浏览器内部逻辑问题导致脚本跨域执行
UXSS 的原理
HTML 元素在浏览器中的实现存在域限制,在触发漏洞的情况下,HTML 元素中的域 可以被任意修改,达到跨域脚本执行
0x03 浏览器0day利用方式
浏览器远程代码执行利用:
漏洞缓解利用:堆风水,ASLR,DEP,CFG
ROP
ShellCode
document.cookie + XMLHttpRequest 任意域Cookie 获取
在不依赖XSS 的情况下获取用户的访问权限,配合钓鱼,水坑攻击和第三方广告插件
浏览器漏洞自动化检测的意义
在黑产的眼里:
钓鱼,挂马,广告流量背后的利益链
在安全厂商的眼里:
产品的安全性与用户口碑
浏览器漏洞自动化检测
UXSS 的检测方式:
与postMessage()
二进制漏洞的检测方式:
对象泄漏与崩溃检测
检测工具: https://github.com/lcatro/browser_vuln_check
浏览器漏洞自动化检测之非崩溃漏洞 检测原理
的作用在于提供一个干净, 隔离的新环境,防止运行多个PoC 的 结果相互影响
postMessage() 返回测试结果
浏览器漏洞自动化检测之非崩溃漏洞 检测原理
在run.html body 标签中引入UXSS PoC
浏览器漏洞自动化检测之非崩溃漏洞 检测原理
run.html 接收从iframe 中检测完成的结果
浏览器漏洞自动化检测之非崩溃漏洞 检测PoC
PoC BadKernel
浏览器漏洞自动化检测之非崩溃漏洞 检测PoC
信息泄漏 检测对象中泄漏的信息
浏览器漏洞自动化检测之崩溃漏洞 检测PoC
崩溃检测
浏览器漏洞自动化检测之二进制漏洞检测
不容易检测的崩溃
Windows : Gflags 堆调试工具
Linux : AddressSanitizer 与valgrind 内存检测工具
浏览器漏洞自动化检测效果