首页 > 其他分享 >AppScan入门工作原理详解-软件测试知识

AppScan入门工作原理详解-软件测试知识

时间:2022-12-23 11:35:04浏览次数:38  
标签:Web 网站 扫描 详解 测试 AppScan 软件测试 页面

  AppScan,即 AppScanstandard edition。其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试。

AppScan入门工作原理详解-软件测试知识

   Rational AppScan(简称 AppScan)其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的 AppScan sourceedition,到针对 Web 应用进行快速扫描的 AppScan standard edition,以及进行安全管理和汇总整合的 AppScan enterprise Edition 等。我们经常说的 AppScan 就是指的桌面版本的 AppScan,即 AppScan standard edition。其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试。

  AppScan 三个核心要素

  AppScan 是对网站等 Web 应用进行安全攻击来检查网站是否存在安全漏洞;既然是攻击,就需要有明确的攻击对象。对网站来说,一个网站存在的页面,可能成千上万。每个页面也都可能存在多个字段(参数),比如一个登陆界面,至少要输入用户名和密码吧,这就是一个页面存在两个字段,你提交了用户名密码等登陆信息,网站总要有地方接受并且检查是否正确吧,这就可能存在一个新的检查页面。这里的每个页面的每个参数都可能存在安全漏洞,所有的被攻击对象,都需要来检查。

  这就存在一个问题,我们来负责来检查一个网站的安全性,这个网站有多少个页面,有多少个参数,页面之间如何跳转,我们可能并不明确,如何知道这些信息?看起来很复杂,盘根错节;那就更需要找到那个线索,提纲挈领;想一想,访问一个网站的时候,我们需要知道的最重要的信息是哪个?网站主页地址吧?从网站地址开始,很多其他频道,其他页面都可以链接过去,对不对,那么可不可以有种技术,告诉了它网站的入口地址,然后它“顺藤摸瓜”,找出其他的网页和页面参数?OK,这就是“爬虫”技术,具体说,是“网站爬虫”,其利用了网页的请求都是用 http 协议发送的,发送和返回的内容都是统一的语言 HTML,那么对 HTML 语言进行分析,找到里面的参数和链接,记录并继续发送之,最终,找到了这个网站的众多的页面和目录。这个能力 AppScan 就提供了,这里的术语叫“探索”,explorer,就是去发现,去分析,了解未知的,并记录之。

  在使用 AppScan 的时候,要配置的第一个就是要检查的网站的地址,配置了以后,AppScan 就会利用“探索”技术去发现这个网站存在多少个目录,多少个页面,页面中有哪些参数等,简单说,了解了你的网站的结构。

  “探索”了解了,测试的目标和范围就大致确定了,然后呢,利用“军火库”,发送导弹,进行安全攻击,这个过程就是“测试”;针对发现的每个页面的每个参数,进行安全检查,检查的弹药就来自 AppScan 的扫描规则库,其类似杀毒软件的病毒库,具体可以检查的安全攻击类型都在里面做好了,我们去使用即可。

  那么什么是“完全测试呢”,完全测试就是把上面的两个步骤整合起来,“探索”+“测试”;在安全测试过程中,可以先只进行探索,不进行测试,目的是了解被测的网站结构,评估范围;然后选择“继续仅测试”,只对前面探索过的页面进行测试,不对新发现的页面进行测试。“完全测试”就是把两个步骤结合在一起,一边探索,一边测试。

  AppScan 工作原理小结如下:

  通过搜索(爬行)发现整个 Web 应用结构;

  根据分析,发送修改的 HTTP Request 进行攻击尝试(扫描规则库);

  通过对于 Respone 的分析验证是否存在安全漏。

  以上内容为大家介绍了软件测试中的AppScan入门工作原理详解,本文由多测师亲自撰写,希望对大家有所帮助。

标签:Web,网站,扫描,详解,测试,AppScan,软件测试,页面
From: https://www.cnblogs.com/lfc666/p/17000311.html

相关文章

  • APP测试设计测试用例的要点-软件测试知识
    app的安装与升级升级中用户数据、设置、状态的保留,特步注意新版本已去掉的状态或设置;是否可以隔开版本覆盖安装;是否可以覆盖安装更低版本;卸载......
  • SpringMVC大文件上传详解及实例代码
    ​ 最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的......
  • 详解聚类算法Kmeans-概述 & 工作原理【菜菜的sklearn课堂笔记】
    视频作者:菜菜TsaiTsai链接:【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili有监督学习:模型在训练的时候,即需要特征矩阵X,也需要真实标签y。无......
  • dos2unix命令详解
    dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n,而Unix&Linux文件的换行符为\n.dos2unix命令其实就是将文件中的\r\n转......
  • Charles抓包工具详解
    学习Charles能做什么:能够用charles分析前后端问题能够使用charles模拟弱网测试环境能够使用charles断点构建异常的测试环境Charles简介1.Charles是什么?Charles基于......
  • JavaIO流详解
    JavaIO流详解I(Input:输入)/O(Output:输出)流,是java中用来传输数据的方式流(stream)的概念流是一种抽象概念,它代表了数据的无结构化传递流是一个无结构化的数据组......
  • Altium Designer v23.0.1.38图文详解
    AltiumDesigner(AD) 最新安装河蟹教程,ltiumdesigner 显著地提高了用户体验和效率,利用时尚界面使设计流程流线化,同时实现了前所未有的性能优化。使用64位体系结构和......
  • 【Linux必知必会】三剑客之sed命令详解
    sed为行编辑器,同时也是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完......
  • 软件测试之道
    1.质量是把开发过程和测试放到一起,不分彼此2.测试工程师把用户放在第一位来思考,要发现糟糕的设计,令人困惑的用户体验,功能bug,安全和隐私等问题的困扰3.重点要放在用户的使......
  • SpringBoot注解最全详解(整合超详细版本)
    使用注解的优势:1.采用纯java代码,不在需要配置繁杂的xml文件2.在配置中也可享受面向对象带来的好处3.类型安全对重构可以提供良好的支持4.减少复杂配置文件的同时亦能享......