1 / 15

一种 XSS 攻击向量挖掘策略 的实现

一种 XSS 攻击向量挖掘策略 的实现. 演讲人:邵鹏 导师:林予松老师. 背景介绍. XSS 攻击现状 影响范围最广、程度最深的网站安全 问题 之一 XSS 攻击危害依然存在 XSS 攻击向量形式与注入方式的多样化. 研究的问题. 多数 网站都会采用对用户输入进行过滤的方法来防范 XSS 攻击 。 是否 能过滤掉所有的 XSS 攻击向量的 风险 ? 过滤的完整性 过滤的局限性. 相关研究现状. 反 规则集的 XSS 攻击向量 挖掘 ,在定义规则集是存在很大的局限性,不能保证所挖掘出向量的完整性。

Download Presentation

一种 XSS 攻击向量挖掘策略 的实现

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. 背景介绍 • XSS攻击现状 • 影响范围最广、程度最深的网站安全问题之一 • XSS攻击危害依然存在 • XSS攻击向量形式与注入方式的多样化

  3. 研究的问题 • 多数网站都会采用对用户输入进行过滤的方法来防范XSS攻击。 • 是否能过滤掉所有的XSS攻击向量的风险? • 过滤的完整性 • 过滤的局限性

  4. 相关研究现状 • 反规则集的XSS攻击向量挖掘,在定义规则集是存在很大的局限性,不能保证所挖掘出向量的完整性。 • 动态生成XSS攻击向量的挖掘方法, 可用性以及向量的反过滤程度上有所不足。

  5. 解决方案 • XSS向量挖掘策略 + Fuzzing • 基于层次的反过滤方法的XSS攻击向量挖掘策略 • 已存在的XSS攻击向量源码(可用性) • 从部分到整体的层次挖掘(完整性) • 分类更细化的反过滤规则设定(绕过网站过滤) • fuzzing测试工具 • burpsuite

  6. XSS的拆分(一) • XSS定义:跨站脚本是一种站点应用程序的安全漏洞攻击,是代码注入的一种。它允许用户将恶意代码注入到网页上,这类攻击通常包含了HTML以及用户端脚本语言。 • XSS攻击向量拆分定义:XSS攻击向量至少要包含API字符,绝大多数包含标签或者属性。 设定A*为所有属性集合,A为A*的子集;L*为所有标签集合,L为L*的子集;C*为所有API字符集合,C为C*的真子集,则有

  7. XSS的拆分(二) • 验证XSS拆分 • 大多数网站过滤都是采用匹配刚才拆分出的三个集合中的元素,做为XSS的攻击向量的特征。(正则表达式,字符模糊匹配)

  8. XSS反过滤的方式 • XSS代码具有多种反过滤的方式 • m1:随机空白 • <IMG SRC="javascript:alert('XSS');"> • m2:敏感词添加注释 • <div style="width: expre/* */ssion(alert('xss'));"> • m3:敏感词替换为空或者删除 • <scr<script>ipt> alert(XSS) < /scr<script>ipt > • m4:字符编码 • 十进制、十六进制、Base64、ASCⅡ • m5 :编码格式的转换 • Unicode,UTF-8,UTF-7,base64 • m6:攻击向量二次生成 • <IMG SRC=javascript:alert(String.fromCharCode (88,83,83))> eval函数 • 反过滤方式细分为两类 • 可以对属性、标签、字符进行单个处理的方法集合为 • 对整体进行处理的方法集合为

  9. XSS挖掘策略实现

  10. 相关应用 • 步骤1:XSS攻击向量根据挖掘规则生成攻击向量集合,其结果保存到fuzzing测试使用的脚本中,一般为txt文本。 • 步骤2:Fuzzer测试工具读取测试脚本中保存的XSS攻击向量,发送给web服务器。 • 步骤3:分析XSS攻击向量的响应,得到测试结果。

  11. 实验以及结果分析 • XSS检测有效性的实验 • 实现环境 • 实现步骤 • 利用开源网站模板(包含过滤功能),在虚拟机1上建立起一个含有XSS漏洞的测试网站; • 建立两个XSS漏洞库,第一个是未经挖掘XSS攻击代码库,第二个是进过挖掘之后XSS攻击代码库; • 虚拟机2上利用未经挖掘的XSS代码库,对虚拟机1所搭建的网站进行XSS模拟攻击检测;同时在虚拟机3利用混淆过的XSS代码库进行相同的操作; • 收集虚拟机2和虚拟机3的检测报告,对其结果比较。

  12. 实验以及结果分析 • 实验结果 • 结果分析 攻击向量进过敏感词注释处理或者采用整体utf-7编码的形式之后,网站过滤模块就无法正常的识别,从而导致了XSS攻击的成功的实施。 比如:<div style="width: expre/* */ssion(alert('xss'));">

  13. 下一步的工作以及展望 • 实验工作 • 挖掘出更多的攻击向量,统计并分析在主流浏览器上的可执行率 • 同其他XSS检测工具的横向对比实验 • 实现自动化的检测流程(展望) • 目前只能实现半自动化的检测流程 • 实现自动化提高检测的效率

  14. 主要参考文献 [1]D. Wichers. The top 10 most critical web application security risks[R].OWASP, 2010. [2]XSS Me :: Add-ons for Firefox[EB/OL].2012. https://addons.mozilla.org/en-US /firefox /addon/xss-me/ [3]ChinotecTechnologies Company. Paros——for Web Application Security Assessment[EB/OL]. 2008.http://www.owasp.org/. [4]陈建清,张玉清. Web跨站脚本漏洞检测工具的设计与实现[J].计算机工程.2010-03.vol.36 No.6 :152-154 [5] XSSF Cross-site Scripting Framewort[EB/OL].2012 http://code.google.com/p/xssf/ [6] 吴子敬,张宪忠,管磊等.基于反过滤规则集合和自动爬虫的XSS漏洞深度挖掘技术[J].北京理工大学学报.2010-04.vol.32No.4 :395-400 [7] 陈景峰.基于Fuzzing技术的WEB应用程序漏洞挖掘技术研究[D].北方工业大学,20120511 [8] 跨站点脚本-维基百科[EB/OL].2012. http://zh.wikipedia.org/wiki/XSS. [9] RSnake’s Vulnerability Lab[EB/OL].2012. http://ha.ckers.org/weird/ [10] Fuzzing—百度百科[EB/OL].2012. http://baike.baidu.com/view/2851606.htm

  15. Thank You!

More Related