首页 > 其他分享 >Web安全测试—Web应用的结构

Web安全测试—Web应用的结构

时间:2023-06-04 11:45:27浏览次数:39  
标签:Web 测试 应用 组件 数据 bug

  Web应用的一种分类方法是依据它们所拥有的可访问接口的数量和种类。简单的架构就是将所有的功能封装在一个或两个组件中,复杂的架构会有若干个组件,最复杂的架构是将若干个组件应用捆绑在一起。

  常见组件

  最常见的Web应用都基于模型-视图-控制器(MVC)设计。这种部署型式的目的是将输入和输出功能(“视图”)从“控制器”所集成的对业务需求(“模型”)的操作中分离出来。这样就可以对Web应用进行单独的部署、测试和维护。

  会话层(表示层)

    负责跟踪用户并管理用户的会话。包括装饰、图形和界面逻辑。会话组件中,部分逻辑负责发布、终止和管理报头、Cookie和传输安全(通常是SSL)。可能也会承担表示层的工作,如根据检测到的网页浏览器类型向用户发送不同的可视化效果。

  应用层

    可以作为单独的一层,包含大多数的业务逻辑。负责制定功能和访问控制方面的决策。

  数据层

    独立的数据层,可以明确地将存储数据的工作分配给软件中的独立组件。

  测试的焦点和接口,就是系统中独立存在的层。因为系统中独立存在的层的数量会极大地影响其复杂度。故测试时需要清楚的了解每一层中的测试点,对每个部件进行测试。

  单层Web应用

  单层Web应用时将所有的业务逻辑、数据以及其他资源放在相同的位置。处理HTTP连接本身、会话管理、数据管理和执行业务规则等功能之间是不存在明确的责任分离的。

  单层Web应用时简单的Java服务器页面(JSP)或servlet,它们接受若干参数作为输入,然后选择提供不同的文件供下载。

  如何测试单层Web应用? 必须确定其输入和输出,并执行通常的正面、反面和安全值测试。比如:

  “一个应用,仅用户存储上千份文件,每个文件包含给定邮递区号当天的天气报告。当用户输入邮递区号,应用就显示对应的文件。需要测试逻辑(用户输入xyz作为邮递区号会出现什么情况?),安全测试(用户输入/etc/passwd作为邮递区号会出现什么情况?)等。”

  双层Web应用

  应用需求的增多,第二个组件会分担一些工作,并在独立的进程或系统中完成。最常见的情况是,一个会话/应用组件和一个数据组件。

  描述Web应用的一个常见的缩写词是LAMP,代表Linux、Apache、MySQL和PHP。Apache和PHP协作以提供组合的会话/应用组件,MySQL提供独立的数据组件。

  如何测试双层Web应用?首先必须要考虑能够越过两层之间的分界线的相关测试点。如果表示/应用层向数据层发出SQL查询,那必须考虑能够直接处理数据层的测试。数据层,数据之间的关系以及应用使用数据的方式,应用可能会搅乱数据的方式,错误数据可能搅乱应用的方式,都是我们的测试点。

  层数对测试的影响

  测试应该清楚的了解应用中组件之间的关系,分析组件之间的关系,不光要知道其表面的逻辑关系,还需要了解其隐含的逻辑关系。这样才能确保应用正常运行。

  如果检测或评估测试的方法是否有效?可以通过测试的代码覆盖率、需求覆盖率、用例覆盖率和已知异常场景覆盖率来检测或评估。

  测试人员不光需要了解应用组件之间的关系,还需要具备在发现bug的同时,分析bug的能力,如bug出现的场景逻辑、日志中bug出现在哪一层、产生bug的原因等。

标签:Web,测试,应用,组件,数据,bug
From: https://www.cnblogs.com/xiaocai84/p/17452875.html

相关文章

  • 实验五 文件应用编程
    实验任务一task1-1实验源码'''统计文件data1.txt行数(不包括空白行)data1.txt中的空白行包括由空格、Tab键(\t)、换行(\n)构成的空白行'''withopen('data1.txt','r',encoding='utf-8')asf:data=f.readlines()n=0forlineinda......
  • COMPX322-23A: 管理应用
    COMPX322-23A:AssignmentFourDueDate:FridayJune9tht,5pmLibrariesandFrameworks:ProjectManagementApplicationForthiscourseworkyouarerequiredtobuildaprojectmanagementapplicationwhichallowsuserstomanagetheirprojects.Youwilluse:•......
  • 安全测试--fiddler工具学习和使用
    平常功能测试或者在进行安全相关测试时,会抓一些接口数据,来进行辅助测试。使用较多的抓包工具是fiddle,所以这里介绍了一下fiddler原理,并介绍一些工作上经常使用的fiddler功能(工具栏、抓https的设置、过滤器、重放、段点、会话保存等功能,手机抓包的功能在另外一篇随笔里)。......
  • 06web安全学习---信息搜集(The Soul of penetration test)
    声明学习网络安全,必须要坚守一个原则,那就是一定一定一定要遵守《中华人民共和国网络安全法》,做一个遵纪守法的好公民,不要利用技术做一些违法犯罪的事情,否则后果自负,请切记!!!一、为什么要信息收集(踩点)目的就是找到薄弱点进行attack;二、信息收集方向三、巧用网络空间搜索引擎 四、信息......
  • 移动开发和互联网应用相关资料
    http://yun.baidu.com/xcloud/csdn/pan#dir/path=%2Fapps%2FCSDN%2FCSDN%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91%E8%B5%84%E6%BA%90%E7%B2%BE%E9%80%89%E7%A4%BC%E5%8C%85......
  • PXE(Preboot eXecution Environment)是一种通过网络引导计算机的协议,可以在没有本地存储
    PXE(PrebooteXecutionEnvironment)是一种通过网络引导计算机的协议,可以在没有本地存储设备或可启动介质的情况下从网络上加载操作系统和应用程序。PXE版本因厂商或标准制定者的不同而有所不同。以下是常见的PXE版本及其大致年代:PXE1.0:最早的PXE版本,于1999年左右推出。PXE2......
  • HTTP Boot(即基于HTTP的引导)是一种网络引导协议,它使用HTTP作为文件传输协议,支持远程引
    HTTPBoot(即基于HTTP的引导)是一种网络引导协议,它使用HTTP作为文件传输协议,支持远程引导、安装和部署操作系统和应用程序。与传统的PXE(PrebooteXecutionEnvironment)方式相比,HTTPBoot具有更高的灵活性、可扩展性和安全性。HTTPBoot可以通过以下步骤实现:启动计算机后,BIOS会向......
  • 05web安全学习---PHP正则表达式
    一、初识SQL注入<metacharset='GBK'/><form><center> 用户登录<br/>账号:<inputtype='text'name='uname'/><br/>密码:<inputtype='password'name='pwd'/><br/>&......
  • 随手买web端使用说明
    项目背景:当今出行方案中,乘坐出租车以及网约车已成为一种主流,尤其是网约车,近几年随着规范化的网约车制度建立,网约车已成为正式的职业,按照最新的出行数据统计我国共有17家网约车平台订单量在30万单以上,这些出行订单均代表着一位乘车出行的乘客。这种出行方式,方便快捷,有很高的可定制......
  • 如何在前端应用中合并多个 Excel 工作簿
    前言|问题背景SpreadJS是纯前端的电子表格控件,可以轻松加载Excel工作簿中的数据并将它们呈现在前端浏览器应用的网页上。SpreadJS实例来加载所有工作簿,然后将它们合并到一个电子表格中。此文将向您展示如何合并多个Excel工作簿并将它们作为单个电子表格显示在您的前端浏览器应......