欢迎来到天天文库
浏览记录
ID:52453655
大小:5.39 MB
页数:52页
时间:2020-03-27
《Web工作原理和常见漏洞分析和防御-release-v2.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、密级:B2Web工作原理和常见漏洞分析和防御常涛(夜莺)集团技术保障-安全技术嘉宾情况我的自白书●2011年7月进入淘宝●集团技术保障——安全技术●陕北——榆林●信息安全安全技能系列●客户端安全防御技术与漏洞Fuzz技术●病毒、木马原理与应急修复●Rootkit简介(Windows平台)●外挂艺术揭秘●Windows漏洞分析调试技术●深入浅出数据安全●网络攻击防御●Web工作原理和常见漏洞分析和防御●安全对抗方法论内容==需求?预期效果●了解Web系统工作原理●XSS,CSRF,URL跳转漏洞的成因和防护●淘宝安全编码来个
2、漏洞热热身漏洞查找渗透测试执行标准内容模块Web系统工作原理从输入淘宝网站到登录成功?●http://i.taobao.com/●获得IP地址●获得应用地址●登录成功工欲善其事,必先利其器浏览器与服务器的关系巴基斯坦卡巴斯基Web常见漏洞内容模块XSSGodFathterattackXSS概述1.注入型问题2.利用终端客户对服务商的信任3.危害程度取决于终端客户使用的浏览器4.影响范围取决于服务商的活跃客户数量XSS危害==Javascript能力●Javascript是浏览器的亲信●Javascript代码与html代码
3、没有本质区别●Javascript被大量应用与Web系统XSS分类:反射型XSS分类:存储型XSS分类:DOM型三类XSS对比DOM型反射型XSS存储型XSSXSS攻击者在网站上发布攻击者向受害者发送攻击者向受害者发送有害的代码有害URL有害URL(html,xss)服务器原样返回有害客户端从服务端取得服务端返回出发js的有害代码的代码URL本地浏览器执行有攻本地浏览器执行有攻本地浏览器执行有攻击代码击代码击代码手动触发自动触发脚本自动触发挖掘XSS==创造JS环境●标签属性●URI编码方案●编码标签属性==创造JS环境●
4、1●clickme!●URI编码方案==创造JS环境●2编码==创造JS环境●5、ml;base64,PHNjcmlwdDhbGV5ydCgndGVzdDMnKTwvc2NyaXB0Pg”>防御XSS==破坏JS环境●●控制显示位置●过滤显示内容防御XSS==TaobaoSecuritySecurityutil淘宝的主要安全包防御XSS==TaobaoSecurityUserichtextinvelocity双击展开在页面上需要输出富文本的地方(输出的内容包含html的tag,比如$var中含有)在vm文件中使用richtext对该变量进行申6、明,如:$!securityutil.richtext(var)$防御XSS==TaobaoSecurityUsejsEncodeinvelocity在页面上需要输出到javascrpt环境的变量的时候,需要用jsEncode对该变量进行声明,并且使用双引号将其括起来,如:(错误用法示例)应该使用如下的方式进行正确的声明:7、aobao.com/logo.png"onClick=$var/>(错误用法示例)应该使用如下方式进行声明:防御XSS==TaobaoSecurityUseescapeHtmlinvelocity在页面上需要在宏中输出的时候需要显式的用escapeHtml进行声明,如:(宏中输出变量的时候默认不做escape处理)#macro(null2HtmlSpace$tex8、t)#if($text!="")$!securityUtil.escapeHtml($text)#else #end#end防御XSS==TaobaoSecurityUseignoretextinvelocity某些特殊情况下需要原文输出,用ignoretext进行声明,比如:(不做任何处理,
5、ml;base64,PHNjcmlwdDhbGV5ydCgndGVzdDMnKTwvc2NyaXB0Pg”>防御XSS==破坏JS环境●●控制显示位置●过滤显示内容防御XSS==TaobaoSecuritySecurityutil淘宝的主要安全包防御XSS==TaobaoSecurityUserichtextinvelocity双击展开在页面上需要输出富文本的地方(输出的内容包含html的tag,比如$var中含有)在vm文件中使用richtext对该变量进行申
6、明,如:$!securityutil.richtext(var)$防御XSS==TaobaoSecurityUsejsEncodeinvelocity在页面上需要输出到javascrpt环境的变量的时候,需要用jsEncode对该变量进行声明,并且使用双引号将其括起来,如:(错误用法示例)应该使用如下的方式进行正确的声明:7、aobao.com/logo.png"onClick=$var/>(错误用法示例)应该使用如下方式进行声明:防御XSS==TaobaoSecurityUseescapeHtmlinvelocity在页面上需要在宏中输出的时候需要显式的用escapeHtml进行声明,如:(宏中输出变量的时候默认不做escape处理)#macro(null2HtmlSpace$tex8、t)#if($text!="")$!securityUtil.escapeHtml($text)#else #end#end防御XSS==TaobaoSecurityUseignoretextinvelocity某些特殊情况下需要原文输出,用ignoretext进行声明,比如:(不做任何处理,
7、aobao.com/logo.png"onClick=$var/>(错误用法示例)应该使用如下方式进行声明:防御XSS==TaobaoSecurityUseescapeHtmlinvelocity在页面上需要在宏中输出的时候需要显式的用escapeHtml进行声明,如:(宏中输出变量的时候默认不做escape处理)#macro(null2HtmlSpace$tex
8、t)#if($text!="")$!securityUtil.escapeHtml($text)#else #end#end防御XSS==TaobaoSecurityUseignoretextinvelocity某些特殊情况下需要原文输出,用ignoretext进行声明,比如:(不做任何处理,
此文档下载收益归作者所有