如何使用集成安全测试Selenium查找XSS实例

作者:集成安全测试Selenium查找XSS实例   发布时间:2021-11-26

集成安全测试的工作原理图


图 1:集成安全测试的工作原理。

如何使用集成安全测试使用 Selenium 查找 XSS 实例

XSS 是 Web 应用程序的常见安全问题,也是OWASP Top 10 上的一个持久问题。简单地说,就是一个用户在另一个页面上执行一个脚本。这通常是通过简单地注入脚本标签、图像标签或其他突破来完成的。攻击者可以使用它从受害者那里窃取 cookie 或在受害者的浏览器上执行其他操作。

从黑盒的角度来看,搜索这个的常用方法是放入一堆脚本标签,看看会出现什么。这正是手动测试人员对<hr>标签所做的,但是手动测试人员已经对他正在测试的应用程序有了深入的了解。与大多数渗透测试人员和扫描工具相比,这就是他如此迅速地发现大量安全漏洞的原因。

有两种方法可以向您的 QA 团队介绍这一点。第一个是向他们提供来自 OWASP 的有效载荷列表; 这是一个很好的。这种方式效果很好,因为您只需放下有效载荷,看看会发生什么。

第二种方法是将安全测试作为测试套件自动化的一部分进行构建。这变得非常有趣,因为大部分时间测试自动化已经自动化了。这意味着您可以轻松地利用 QA 部门已经完成的辛勤工作。

在 XSS 的情况下,你可以在 Selenium 自动化代码中添加一个字符串生成器,它会吐出很多常见的有效载荷。这种方法的问题在于,常见的“警报”框会破坏测试,这会激怒您的 QA 人员。

因此,不是弹出警告框,而是使用console.error() 将唯一编号发送到浏览器日志。然后从Selenium中取出浏览器日志,查看唯一编号是否出现,证明存在XSS漏洞。这种额外的检测和断言通常会添加更多上下文,让 QA 团队知道该联系谁以找出错误的含义。

集成安全测试与 DAST

大多数动态应用程序扫描工具 (DAST)都是在基于表单的站点的时代构建的,这些站点不使用 JavaScript 通过 React 或 AngularJS 创建交互式前端应用程序。它们还针对每个 Web 应用程序采用一刀切的理念构建。不幸的是,没有两个 Web 应用程序是相同的。

每个 Web 应用程序都有自己的业务逻辑和规则。在某些字段中,您需要添加电子邮件;有时要使错误起作用,您需要以其他用户身份登录;有时您需要做 DAST 不能做的事情,例如拖放。 

还要记住,如果有效负载不能立即工作,那么 DAST 工具将不会发现安全漏洞。例如,想象一下社交媒体应用程序的用户名中有一个 XSS,只有当您将其视为您的朋友之一时才有效。

如果没有艰巨的编程工作,DAST 将无法以其他人的身份登录,但像这样的重要功能可能已经包含在 Selenium测试中。DAST 工具缺少业务逻辑,而业务逻辑已经内置到一套功能测试中。



推荐文章:

APP众测

小程序众测

游戏众测

硬件众测



本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。



沪ICP备07036474号-4 |

沪公网安备 31010702003220号

2015-2023 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.