如何使用Selenium扩展Web应用安全测试

作者:Web应用安全测试   发布时间:2021-11-02

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

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

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

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

第二种方法是将安全测试作为测试套件自动化的一部分进行构建。大部分时间测试自动化已经自动化了。

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

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

 

此警报框破坏测试


图 1:此警报框将破坏测试。

集成安全测试与DAST

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

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

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

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



推荐文章:

性能监控软件APM
性能测试服务


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



沪ICP备07036474号-4 |

沪公网安备 31010702003220号

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