跨站脚本是 OWASP 十大威胁中的一个。这种漏洞允许攻击者注入恶意代码。应用程序中任何用于可输入的位置,都有可能发现这种问题。如果网站存在XSS漏洞,攻击者就可以向常规用户注入恶意脚本。XSS漏洞可以用于偷取会话id,也可以劫持处于活动状态的用户会话。

网站开发人员必须测试网站是否容易受到此类攻击。他们需要验证输入,处理输出。为了找到网站上的XSS漏洞,他们也会使用各种可用的扫描器去发现XSS或者其他漏洞。目前已经有许多自动的和手工的工具,可以用于找到这些漏洞。X5S同这些工具类似,它是web调试代理器Fiddler的一个插件。
X5S转为渗透测试人员开发,用于查找XSS漏洞。有一件很重要的事情需要注意,X5S并非一个自动化的XSS发现工具,它只列出可能存在XSS攻击的位置。所以你需要非常了解XSS,并知道编码问题是如何导致XSS攻击的。这个工具是为经验丰富的渗透测试人员准备的,因为通常他们知道如何利用编码完成客户端脚本代码注 
接下来,我们会介绍如何使用X5S寻找网站中可能存在的XSS漏洞。
 
Fiddler: Fiddler 是一款流行的web代理调试工具,它可以监视和记录你的浏览器与网站之间的通信流量。你可以通过对应的日志文件分析流量。这个程序也可以调试分析使用HTTP的Java和.NET应用程序。Fiddler对所有人都免费。
 
Fiddler支持的浏览器有Internet Explorer, Google Chrome,Safari,Mozilla Firefox,Opera,等。而且其使用很简单。
 
Fiddler下载地址: http://www.fiddler2.com/fiddler2/
 
Fidder中有许多标签(tabs),它们可以用于分析流量和数据包行为。这里,我不会去解释如何分析流量,因为本文的重点是使用X5S查找XSS漏洞。
 
X5S: 基于Fiddler开发的插件,它使用fiddler的包记录机制,并尝试在请求中添加代表性的字符,以便找出存在跨站攻击的请求。但是你需要很好的理解跨站脚本和编码问题。X5S需要你手动完成与跨站脚本有关的事情。
 
基本上,X5S会探测那些没有对用户输入进行安全编码的位置。有时候,Unicode字符转换可能会绕过安全过滤,所有也需要检测。
 
通过查看URLS对应的请求和响应,并注入XSS载荷,以便确认XSS是否存在。现在轮到你来实战才华了,如果你知道如何控制代码运行的位置,那么你将很容易找到XSS漏洞。
 
还有一件事我要说明一下,这个工具只能用于反射型XSS问题,无法探测DOM类型的XSS漏洞。当然它也没有能力去获取存储型XSS漏洞,因为这些数据并不存在于请求和响应的参数中。针对这两种XSS漏洞,你可能需要额外的工作。
 
首先下载fiddler安装,然后再安装X5S。
 
注意: X5S 根据请求和相应头,在参数中注入代表性的内容,所以它支持 Get 和
Post 请求。
 
X5S下载地址: http://xss.codeplex.com/releases/43170/download/115610

如上所见,X5S出现在fiddler的tab标签中。如果你没有在你的fiddler中看见watcher,不要担心。它是fiddler的另一款用于XSS测试的插件。我们此处仅关心的是X5S,因此要集中精力。
配置
在我们开始寻找XSS漏洞前,我们需要合理配置X5S。
首先,切换到fiddler的X5S 标签,选择最上方的enable复选框。在Preamble 处输入 XSS,此处可以输入任何单词,记住这里的词不要太普通。它将被X5S用于注入请求参数。
然后,选择Enable Domain Name Targeting复选框,添加域名,这里就是用于测试XSS的网站所属域名,可以添加多个域名。
不要忘记选择"Requests"和"Responses",以及勾选Auto-Injection Options处的所有选项。

大小写配置
X5S下有三个tab窗口,选择"Test case configuration",此处我们将设置X5S的字符探针,有下面三种情形:

transformation
多数时候,输入是良性的,这里的字符可以用于快速发现应用程序是否按照对应的方式转换字符.  如果被探测到,则可进行进一步的XSS攻击测试.
例如, 使用U+FF1C全角型小于符号代替 ASCII '<',结合词 'script' 插入到HTML中'.

Traditional Test Case
传统的XSS测试,通常注入ASCII字符 >.  如果输出时未进行安全编码,你也许可以控制HTML,注入脚本.

Overlong UTF-8 Test Case
超长 UTF-8 测试,例如: U+003C代替ASCII的'<' .  如果这个字符被转换为短字符,如果输出没有被安全编码,你也许可以控制HTML,注入脚本.

选择一条结果,下面的窗口将会显示preamble与XSS字符串。如红色部分所示。查看并进行详细的分析。然后复制对应的URL进行XSS测试。例如:
<script>alert(1)</script> or <script>alert(1)</script> in case alert is being filtered
“><script>alert(1)</script> or “><script>alert(1)</script>
</style><script>alert(1)</script>
“)</script><script>alert(1)</script>
“><img src=”a” οnerrοr=”prompt”>
为何渗透测试人员不使用这个工具 ?
很多渗透测试人员不推荐使用这个工具,原因是已有很多web扫描器能够检测XSS漏洞。这些扫描器可以爬行每个链接,并列举出所有已知的漏洞。其中的大部分扫描器都工作的很好。但是这个工具仅能探测反射型XSS。
我们还需要花费很多的时间,手动去验证 这些URL。在这个过程中,我们可能会遗漏XSS漏洞。花费很多时间后,可能因为软件的限制,结果我们没有找到漏洞。
当然,你可能也会看到,有些渗透测试人员会常常用到这个工具。这取决与测试者的选择。我推荐你试试这个工具。有些时候它表现的不错。作为初学者,你可以使用这个工具来提高自己XSS相关的知识。

========================================================================

XSS漏洞扫描器的原理及方法

Web漏洞扫描最常用的方法是模拟攻击技术,通过向Web服务器提交精心构造的攻击向量,记录下服务器返回的响应,从响应中寻找漏洞可能存在的特征标记,如果发现特征标记则认为Web应用程序存在相应漏洞。
XSS漏洞的基本检测原理与前面所述相同。
考虑一种较简单的场景:
GET /username.php?name=jack HTTP/1.1
Host:www.abc.com
...(省略了HTTP请求头一些非关键字段)
服务器对提交的变量没做过滤,返回的响应报文:
HTTP/1.1 200 OK
Date: Fri,01 Jul 2011 00:38:55 GMT
Server:BWS/1.0
Content-Length:48
Content-Type:text/html;charset=gb2312
Cache-Control:private
Connection:Keep-Alive

<HTML><BODY>
    Welcome, jack !
</BODY></HTML>

在这种情况下,如果用户恶意构造一个请求:
GET /username.php?name=<script>alert("XSS");</script> HTTP/1.1
Host:www.abc.com
...(省略了HTTP请求头一些非关键字段)
服务器返回响应报文:
HTTP/1.1 200 OK
Date:Fri,01 Jul 2011 00:38:55 GMT
Server:BWS/1.0
Content-Length:75
Content-Type:text/html;charset=gb2312
Cache-Control:private
Connection:Keep-Alive

<HTML><BODY>
    Welcome,<script>alert("XSS");</script>!
</BODY></HTML>
页面里的script脚本会在浏览器里执行,如果换成其它目的的恶意脚本,后果会不堪设想。

检测流程说明:
1. 从爬虫的结果数据库里提取检测点: 一些表单或URL
2. 从测试脚本数据库里提取测试脚本,结合检测点构造出攻击向量;
3. 发送攻击向量到远程服务器;
4. 收到响应后,分析响应,与验证匹配数据数据库相匹配;
5. 通过验证后,则记录下漏洞相关信息,把结果保存在漏洞结果数据库中;
6. 未通过验证,进行下一组测试,
注: XSS的测试效果很大程度上由测试脚本的质量决定,本扫描系统的脚本为OWASP所推荐的测试脚本。

========================================================================

[原文]: http://resources.infosecinstitute.com/using-x5s-with-fiddler-to-find-xss-vulnerabilities/
http://wenku.it168.com/d_0001306467.shtml

使用Fiddler插件X5S寻找XSS漏洞相关推荐

  1. XSS漏洞基础学习(笔记)

    包含一些基础的XSS学习. XSS跨站脚本分类 XSS漏洞介绍 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets,CSS)的缩 ...

  2. DOYO网站xss漏洞测试

    一.寻找xss漏洞 一般想获取最高权限,就要找存储型xss漏洞,这样的漏洞是服务器和浏览器进行数据交换的,有利于数据写入进去.一般留言板.评论区可能性最大. 1.评论区 <script>a ...

  3. 基于fiddler插件的代理扫描系统:越权漏洞检测

    基于fiddler插件的代理扫描系统:越权漏洞检测 # 概述 ##越权检测原理 ###系统架构 #基本步骤 待优化与工具联动 工具联动: 其他漏洞检测 # 概述 随着现在企业安全水平的提高, 单独依赖 ...

  4. 【漏洞复现】WordPress插件Quizlord 2.0 XSS漏洞复现与分析

    年后趁着需要做安全测试系统不多的这个空档,学学python到处逛逛复现复现和分析一些简单的漏洞 --from Lyricbao 0x00 复现环境 phpstudy wordpress 4.4版本 Q ...

  5. CVE-2021-39348 WordPress LearnPress插件XSS漏洞复现

    CVE-2021-39348 WordPress LearnPress插件XSS漏洞复现 漏洞信息 环境搭建 安装mysql 安装wordpress 安装learnpress 漏洞复现 漏洞信息 漏洞 ...

  6. frame越过另一个frame_一个价值2万美元的Facebook DOM XSS漏洞

    前言 一直认为通过postMessage进行的DOM XSS是一个被低估的漏洞,并且大多数白帽子都没有注意到它的安全价值. 最近一段时间,开始研究客户端漏洞,比如寻找XSS,JSONP和postMes ...

  7. WordPress ProfilePress插件多个严重漏洞

    ​ 0x01 漏洞描述 WordPress ProfilePress(原 WP User Avatar)是一个轻量级会员插件,可用于创建用户画像.会员目录和用于用户注册.登录.密码重置及用户信息编辑的 ...

  8. php探针存在xss漏洞

    转载自:https://bugs.leavesongs.com/ 研究了一下市面上的php探针,发现同源现象较严重.首先发现了php雅黑探针(可以说是国内用的最多的探针了)的一些安全问题,由此各种ph ...

  9. 网络安全必学知识点之XSS漏洞

    xss漏洞小结 一.初识XSS 1.什么是XSS XSS全称跨站脚本(Cross Site Scripting),为避免与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆 ...

最新文章

  1. C++:多线程中的小白(3)线程传参详解
  2. 中秋佳节共团圆,送3本Python书
  3. android 关掉屏幕旋转,防止在Android中屏幕旋转时解除对话框
  4. vba编写的出库单(可添加出库项目记录、生成、打印出库单)
  5. Bypass功能及原理介绍
  6. 病毒周报(081208至081214)
  7. OpenCV_用形态学运算变换图像
  8. PHP实现微信公众平台开发---提升篇(access_token存session)
  9. Flutter 启动页适配
  10. 远程过程调用失败0x800706be
  11. 计算机内部如何防止溢出,电脑提示堆栈溢出是什么意思 该怎么解决
  12. 翻译GDC演讲:《Procedurally Crafting Manhattan for ‘Marvel‘s Spider-Man‘》(在‘漫威蜘蛛侠’中使用程序化的方式精心制作曼哈顿)
  13. 每日一佳——Least-Squares Temporal Difference Learning(Justin A. Boyan,ICML,1999)
  14. 深圳大学计算机专业保研率,深圳最好的公立大学(本科阶段)南方科技大学,2018级保研率应该会提高到30%...
  15. 带联网功能的RFID宿舍门禁(四)-NodeMCU网站与RC522共同控制舵机转动
  16. android如何从json字符串中取自己想要的数据
  17. 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之11---什么是BREW
  18. 元数据管理工具Atlas学习笔记之集成
  19. 记第一次参加五一数学建模竞赛
  20. 微软官方WinPE的制作流程

热门文章

  1. gb和gib的区别_gb和gib的区别_KB / KiB,MB / MiB,GB / GiB,… 的区别是什么?
  2. EntityFramework Core 学习扫盲
  3. 区块链健康促进攻克重大疾病
  4. 怎么下载lce_和平精英lce辅助
  5. Android studio 更换app launcher图标后还是显示之前的小人图标
  6. 11121 - Base -2
  7. 1的平方加2的平方....一直加到n的平方和是多少?有公式吗
  8. 使用media实现响应式布局
  9. 小程序路由跳转,如何直接回到首页
  10. GBase 8s SQL 指南:语法————2.2 SQL 语句