15
XSS 种种种种种种种种种 种种 种种种 种种 种种 种种种种种

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

演讲人:邵鹏 导师:林予松老师

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

XSS 攻击现状 影响范围最广、程度最深的网站安全问题之一 XSS 攻击危害依然存在 XSS 攻击向量形式与注入方式的多样化

背景介绍

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

多数网站都会采用对用户输入进行过滤的方法来防范 XSS 攻击。

是否能过滤掉所有的 XSS 攻击向量的风险? 过滤的完整性 过滤的局限性

研究的问题

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

反规则集的 XSS 攻击向量挖掘,在定义规则集是存在很大的局限性,不能保证所挖掘出向量的完整性。

动态生成 XSS 攻击向量的挖掘方法 , 可用性以及向量的反过滤程度上有所不足。

相关研究现状

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

XSS 向量挖掘策略 + Fuzzing 基于层次的反过滤方法的 XSS 攻击向量挖掘策略

• 已存在的 XSS 攻击向量源码(可用性)• 从部分到整体的层次挖掘(完整性)• 分类更细化的反过滤规则设定(绕过网站过滤)

fuzzing 测试工具• burpsuite

解决方案

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

XSS 定义:跨站脚本是一种站点应用程序的安全漏洞攻击,是代码注入的一种。它允许用户将恶意代码注入到网页上,这类攻击通常包含了 HTML 以及用户端脚本语言。

XSS 攻击向量拆分定义: XSS 攻击向量至少要包含 API 字符,绝大多数包含标签或者属性。设定 A* 为所有属性集合, A 为 A* 的子集; L* 为所有标签集合, L 为 L* 的子集; C* 为所有 API 字符集合, C 为 C*的真子集,则有

XSS 的拆分(一)

𝐴∪ 𝐿∪𝐶⊆ 𝑋𝑆𝑆

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

验证 XSS 拆分

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

XSS 的拆分(二)

XSS 攻击向量 属性集合 A 标签集合 L API 字符集合 C

<script>alert(xss)</script> 空 script alert

<img src=javascript:alert(xss)> src img javascript:alert

<body onload= document.write

('xss')>

onload body document.write

<div style="width:

expression(alert('xss'));">

style,width div expression,alert

";alert('xss') 空 空 alert

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

XSS 反过滤的方式XSS 代码具有多种反过滤的方式

m1 :随机空白• <IMG SRC="jav ascript: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 函数

反过滤方式细分为两类 可以对属性、标签、字符进行单个处理的方法集合为 对整体进行处理的方法集合为

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

XSS 攻击向量通过挖掘策略规则集合 F

可以得到 XSS 攻击向量集合。

攻击向量挖掘策略规则集合 F :

XSS 挖掘策略实现

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

步骤 1 : XSS 攻击向量根据挖掘规则生成攻击向量集合,其结果保存到 fuzzing 测试使用的脚本中,一般为 txt 文本。

步骤 2 : Fuzzer 测试工具读取测试脚本中保存的 XSS 攻击向量,发送给 web 服务器。

步骤 3 :分析 XSS 攻击向量的响应,得到测试结果。

相关应用

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

XSS 检测有效性的实验 实现环境

实现步骤• 利用开源网站模板(包含过滤功能),在虚拟机 1 上建立起一个含有 XSS 漏洞的

测试网站;• 建立两个 XSS 漏洞库,第一个是未经挖掘 XSS 攻击代码库,第二个是进过挖掘

之后 XSS 攻击代码库;• 虚拟机 2 上利用未经挖掘的 XSS 代码库,对虚拟机 1 所搭建的网站进行 XSS 模

拟攻击检测;同时在虚拟机 3 利用混淆过的 XSS 代码库进行相同的操作;• 收集虚拟机 2 和虚拟机 3 的检测报告,对其结果比较。

实验以及结果分析

虚拟机 1 虚拟机 2 虚拟机 3

硬件: 512MB+20GB

操作系统: windows 2003 SP1

Web 服务器 :IIS 6.0 IP:192.168.17.115

硬件: 512MB+10GB

操作系统: windows XP SP3

浏览器 : IE 7.0IP:192.168.17.116

硬件: 512MB+10GB

操作系统: windows XP SP3

浏览器: IE 7.0IP:192.168.17.117

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

实验结果

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

实验以及结果分析

虚拟机 1— 漏洞个数 虚拟机 2— 漏洞个数3 7

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

实验工作 挖掘出更多的攻击向量,统计并分析在主流浏览

器上的可执行率 同其他 XSS 检测工具的横向对比实验

实现自动化的检测流程(展望) 目前只能实现半自动化的检测流程 实现自动化提高检测的效率

下一步的工作以及展望

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

[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]Chinotec Technologies 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

主要参考文献

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

Thank You !