存储型Xss成因及挖掘方法.ppt

上传人(卖家):hwpkd79526 文档编号:6158371 上传时间:2023-06-04 格式:PPT 页数:25 大小:1.49MB
下载 相关 举报
存储型Xss成因及挖掘方法.ppt_第1页
第1页 / 共25页
存储型Xss成因及挖掘方法.ppt_第2页
第2页 / 共25页
存储型Xss成因及挖掘方法.ppt_第3页
第3页 / 共25页
存储型Xss成因及挖掘方法.ppt_第4页
第4页 / 共25页
存储型Xss成因及挖掘方法.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

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

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

3、反射型XSSXSS Filter扫描器WAF产品但是危害越来越小.但是容易被扫.但是容易被干掉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)百度贴

5、吧存储型XSSJS-Context 存储型XSS 及其防御和中的XSS一样,过滤 和 而实际上,在HTML的属性里,&#NNN;或&#xNN;也是可以被执行的!进一步构造利用代码还需要将&过滤为&字符字符转义转义"/"'>/>\//CSS-Context 存储型XSS 及其防御通常情况下,可能会将过滤掉了,因而无法使用此方式1.如果未做过滤,可以用如果未做过滤,可以用 的方式来调用的方式来调用CSS-Context 存储型XSS的利用方式:2.直接根据直接根据CSS上下文构造闭合上下文构造闭合根据CSS类型对输出进行严格

6、纠正例如:字体大小,必须为数字,图片地址不允许出现非法字符IE 6,7,8wooyun-2010-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的最爱)(部分内容参考html5

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

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

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

10、加载图片功能的FLASH应用第三方插件第三方应用sameDomain策略Flash-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,新浪微博存储型XS

11、S)wooyun-2010-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)allowscriptaccess=sameDomainal

12、lowscriptaccess 默认属性Flash-based 存储型XSS 及其防御flash.external.ExternalInterface.call(JS代码)navigateToURL(new URLRequest(JS代码)getURL(JS代码);loaderInfo.parametersxxx.swf?func=JS代码flashvars=func=JS代码A百度应用iframeA XSS1.FLASH开发人员缺乏安全意识(jwplayer,open flash chart,swfupload类程序)2.FLASH XSS 可以绕过主流浏览器的XSS Filter3.传统扫

13、描器不易扫描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=/ 的挖掘方法1.拿着各种XSS Vector填入到输入处,然后看页面是否有“执行”2.输入一些可能没有被过滤的字符,/&XXXXX,看“侧漏”&3.看功能异常,看报错&构造利用代码查明缺陷检查原因存储型XSS 的挖掘方法1.传统输

14、入点各种表单,inputtext,textarea2.隐藏输入点Inputhidden3.客户端脚本过滤进一步测试浏览器调试工具浏览器调试工具(F12)抓抓包工具包工具HttpwatchFiddlerCharles4.遭遇验证码看到一些提交的隐藏参数。存储型XSS 的利用找到一个XSS点之后alert(/xss/);alert(document.cookie);输入点长度限制突破长度限制漏洞的利用http-only cookiesXSS蠕虫盗取信息恶意请求跨域请求问题代码编写熟悉产品架构恶意代码的隐蔽性总结作为开发人员开发人员,要有一定的安全意识,当编写一段代码的时候,要站在攻方的角度,来思考程序的安全性。作为安全人员安全人员,要站在开发人员的角度来思考,推测开发人员的逻辑,寻找缺陷,并加以利用。开发人员安全人员一切输入都不能忘了过滤一切输入都可能被利用原理正确构造利用代码正确过滤恶意代码EXIF二维码谢谢大家 alt=This is the end!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 项目策划与方案类
版权提示 | 免责声明

1,本文(存储型Xss成因及挖掘方法.ppt)为本站会员(hwpkd79526)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|