面试加分必看,11道接口安全测试面试题!

news2024/11/17 13:29:47

今天,分享一些在面试中可能会遇到的接口安全测试面试问题,助你在面试中从容不迫。

01.HTTPS 与 HTTP 的区别?

02.OSI七层模型是指?

03.你所知道的 HTTP 状态码?

04.你知道SQL注入吗?

05.SQL 注入与XSS 的区别?

06.CSRF与XSS 的区别?

07.鱼叉式攻击和水坑攻击的区别?

08.什么是虚拟机逃逸?

09.你知道堡垒机吗?堡垒机有什么用?

10. 你知道中间人攻击吗?

11.你如何进行API的安全性测试?

以下是5800+字长文预警,建议先看完面试题,再查看对应回答。

1 HTTPS 与 HTTP 的区别?

1.安全性:

HTTP是一个无状态的、应用层的协议,信息是明文传输,主要用于在Web浏览器和服务器之间传输超文本,数据可以被任何在传输路径上的设备读取或篡改。

HTTPS则是具有安全性的ssl加密传输协议。HTTPS协议由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

2.端口:HTTPS通常使用443端口,而HTTP使用80端口。

3.传输方式:HTTPS协议需要到ca申请证书,包含服务器的公钥和相关信息。当客户端(如Web浏览器)与服务器建立HTTPS连接时,会验证服务器的证书是否有效和可信。如果证书无效或不被信任,客户端会拒绝与服务器建立连接。一般免费证书较少,因而需要一定费用。

互联网公司大都会用HTTPS来保障用户数据的安全性,当用户访问一个使用HTTPS的网站时,他们可以看到浏览器地址栏中的URL以“https://”开头,并且可能会显示一个绿色的锁图标或类似的标志,表示该连接是安全的。

2 OSI七层模型是指?

OSI七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。

1.应用层:OSI参考模型中最靠近用户的一层,提供人机交互的接口,为用户提供各种网络服务。我们常见应用层的网络服务协议有HTTP,HTTPS,FTP,POP3、SMTP等;

2.表示层:解决编码、加密、压缩等问题;

3.会话层:会话的建立、终止、维护,起到会话隔离的作用;

4.传输层:提供可靠的透明的端到端的通信,并进行差错控制和流量控制。我们通常说的,TCP/ UDP就是在这一层。端口号既是这里的“端”,是最核心的一层;(段/包文)

5.网络层:用IP地址寻址,并进行路径的选择;(包/分组)

6.数据链路层:负责帧在计算机之间的无差错传递;(帧)

7.物理层:利用物理传输介质,将数据以比特流的形式传输。(比特流)

图片

3 你所知道的 HTTP 状态码?

HTTP状态码是服务器对客户端请求的响应,用于表示Web服务器处理HTTP请求的结果。它们是一个三位数的代码,按照用途被分为五类:1xx(信息性状态码)、2xx(成功)、3xx(重定向)、4xx(客户端错误)和5xx(服务器错误)。

1xx :信息性状态(Info)——表示服务器收到请求,需要请求者继续执行操作;

2xx :成功(Successful)——表示请求已被成功接收、理解、接受; 

3xx :重定向(Redirection)——要完成请求必须进行更进一步的操作; 

 4xx:客户端错误(Client Error)——表示请求可能有语法错误或请求无法实现,妨碍了服务器的处理; 

 5xx :服务器端错误(Server Error)——表示服务器在处理请求的过程中发生了内部错误,未能实现合法的请求。

常见状态码:

• 200:成功(OK )——服务器已成功处理了请求;

• 301:永久移动(Moved Permanently)——请求永久重定向,请求的页面已永久移动到新位置; 

• 302:临时移动(Found )——请求临时重定向, 服务器目前从不同位置的网页响应请求,资源只是临时被移动,但请求者应继续使用原有URL来进行以后的请求; 

• 304 :未修改(Not Modified)——文件未修改,可以直接使用缓存的文件;

• 400 :错误请求(Bad Request )——由于客户端请求有语法错误,不能被服务器所理解; 

• 401 :未授权(Unauthorized)——请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用; 

• 403:禁止(Forbidden)——服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因; 

• 404:未找到(Not Found )——请求的资源不存在,例如,输入了错误的URL; 

• 500 :服务器内部错误( Internal Server Error )——服务器发生不可预期的错误,导致无法完成客户端的请求;

• 503 : 服务不可用(Service Unavailable )——服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常;

测试工作中,可以根据HTTP状态码来定位问题。比如测试一个Web应用时,如果某个页面无法加载,查看浏览器返回的HTTP状态码。如果状态码是404,那么可能是服务器上没有找到对应的资源文件;如果状态码是500,那么需要检查服务器端的日志来查找具体的错误原因。

此外,日常工作中根据状态码来优化测试策略。比如,对于经常返回404状态码的页面,在测试计划中增加更多的覆盖这些页面的测试用例,确保这些页面在后续的迭代中不会出现问题。

4 你知道SQL注入吗?

SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,攻击者可以通过SQL注入来访问、修改或删除数据库中的敏感数据,甚至可能获得数据库的管理员权限。实现无账号登录,甚至篡改数据库。 

SQL注入原理:

1.利用Web应用程序中的输入验证和过滤机制的不足,将恶意的SQL代码插入到用户输入的参数中。

2.参数被用于构建SQL查询语句,当查询语句被发送到数据库服务器执行时,恶意代码也会被一起执行。

3.攻击者可以通过这种方式获取数据库中的敏感信息、篡改数据、甚至执行系统命令。

防御SQL注入:

1.对用户输入进行严格的验证和过滤,确保输入数据的合法性和安全性。

2.使用参数化查询或预编译语句来构建SQL查询语句,避免直接将用户输入拼接到查询语句中。

3.最小化数据库权限,确保应用程序只具有执行必要数据库操作所需的最低权限。

4.定期对应用程序进行安全审计和代码审查,及时发现和修复潜在的安全漏洞。

5 SQL 注入与XSS 的区别?

SQL注入:向Web应用程序提供的用户输入域中注入恶意的SQL代码,从而欺骗数据库服务器执行非授权的查询,获取或篡改数据的攻击方式。其原理是利用Web应用程序对用户输入数据的合法性没有严格判断或过滤的缺陷。

XSS(跨站脚本攻击):在Web页面中插入恶意脚本代码,当用户浏览该页面时,脚本代码会被执行,从而盗取用户信息或侵犯用户安全隐私,XSS攻击通常利用的是网页开发时留下的漏洞。

比如,在一个电子商务网站上,如果用户在搜索框中输入的查询没有得到适当的处理,就可能发生XSS攻击。攻击者可能会输入一个包含JavaScript代码的搜索词,如果这个代码没有被适当地清理或编码,它就可能在其他用户的浏览器中执行,导致会话劫持或其他安全问题。

6 CSRF与XSS的区别?

CSRF:利用用户已经通过身份验证的会话来执行未经授权的操作。攻击者通过欺骗用户来执行恶意操作,而用户并不知情。在CSRF攻击中,攻击者构造一个包含恶意操作的HTTP请求,诱使用户在已登录的Web应用程序上执行这个请求,从而利用用户的身份和权限进行非法操作。

XSS(跨站脚本攻击):在Web页面中插入恶意脚本代码,当用户浏览该页面时,脚本代码会被执行,从而盗取用户信息或侵犯用户安全隐私,XSS攻击通常利用的是网页开发时留下的漏洞。

在一个在线购物网站中,如果用户在浏览商品时点击了一个链接,这个链接实际上是一个CSRF攻击,它可能会在用户的浏览器中自动发起一个购买操作,而用户对此一无所知。而如果用户在留言板中输入的内容没有得到适当的处理,就可能发生XSS攻击,其他用户在查看留言板时,他们的浏览器可能会执行这段恶意脚本。

7 鱼叉式攻击和水坑攻击的区别?

鱼叉式攻击:针对特定个人或组织的网络钓鱼攻击,攻击者发送伪装成正规机构或个人的电子邮件,诱使受害者泄露个人信息或点击恶意链接,从而达到窃取敏感信息、传播恶意软件等目的。

水坑攻击:针对特定目标群体的网络攻击方式,攻击者首先确定这组目标经常访问的网站,并入侵其中一个或多个,植入恶意软件,等待目标访问时触发恶意代码,达到感染目标的目的。

8 什么是虚拟机逃逸?

虚拟机逃逸是指攻击者通过利用虚拟机软件或虚拟机中运行的软件漏洞,突破虚拟机的限制,实现与宿主机操作系统交互的一个过程。简单来说,就是攻击者能够绕过虚拟机的安全隔离机制,直接访问或控制宿主机系统。

实现虚拟机逃逸,通常满足以下条件:

1.存在漏洞:虚拟机软件或宿主机操作系统中存在可被利用的漏洞。

2.提权操作:攻击者需要在虚拟机中执行能够提升权限的操作,如执行系统级别的敏感指令。

3.渗透隔离机制:攻击者需要破坏虚拟机的隔离机制,实现与宿主机的交互。

你知道堡垒机吗?堡垒机有什么用?

堡垒机,也称为跳板机或远程访问服务器,是一种网络安全设备,它允许管理员控制和监控用户对服务器和其他网络资源的访问。它通常用于集中管理和记录用户会话,确保只有授权用户才能访问特定的系统资源,并且所有访问行为都会被记录和审计。 

堡垒机的主要优势在于提供了一个集中的访问点,可以加强访问控制和安全审计。

堡垒机在网络环境中的体现在以下3个方面:

1.细粒度的访问控制:通过堡垒机访问控制功能,可以实现对运维人员操作行为的精细化管理,降低操作风险。

2.运维过程的管控和审计:堡垒机的审计录像功能可以记录运维人员的操作行为,为事后追责提供可靠依据。堡垒机的实时监控和智能告警功能,可以及时发现潜在的安全威胁和异常行为。

3.提高安全性:堡垒机可以拦截非法访问和恶意攻击,过滤掉所有对目标设备的非法访问行为,并对内部人员误操作和非法操作进行审计监控,大大提高网络和数据的安全性。

如果一个公司的IT部门需要确保员工只能访问他们需要的资源,同时记录所有的访问行为以满足合规性要求,可以使用堡垒机来实现这一点。

10 你知道中间人攻击吗?

中间人攻击(MITM),攻击者通过技术手段将自己置于通信双方之间,从而拦截、读取、修改或伪造传输的数据,而通信的双方却毫不知情。这种攻击方式能够对用户数据的安全性和完整性造成严重威胁。

中间人攻击的常见方式包括截取会话Cookie、篡改传输数据、甚至劫持整个会话。例如,如果用户在公共Wi-Fi网络上进行在线银行操作,攻击者可以设置一个假的热点,当用户连接后,攻击者就可以截取用户的所有网络请求和响应。中间人攻击可能导致敏感信息泄露,如用户名、密码、信用卡信息等,甚至可以被用来进行身份冒充或进一步的网络攻击。

防范中间人攻击,可以采取以下措施:

1.使用HTTPS等加密协议来保护数据传输的安全。

2.采用证书和公钥基础设施(PKI)来验证通信双方的身份。

3.识别钓鱼网站和不安全的网络连接。

11 你如何进行API的安全性测试?

API的安全性主要涉及到数据保密性、完整性和可用性等方面。在数据传输过程中,如果未采取适当的加密措施,数据可能会被截获和篡改。此外,如果API存在逻辑漏洞或设计缺陷,攻击者可能会利用这些漏洞进行恶意操作。

测试API的安全性时,可以采取以下策略:

1.输入验证:确保API能够正确处理各种输入,包括正常输入和异常输入。通过模糊测试和边界值测试等方法,包括类型、范围、长度、格式等,防止输入参数被恶意利用,使用正则表达式、白名单、黑名单等方式进行验证,检查API是否对非法输入进行了有效的过滤和处理。

2.权限控制:验证API的权限控制机制是否有效,检查是否只有授权用户才能访问特定的API,并且用户只能执行其权限范围内的操作。

3.安全漏洞扫描:使用专业的安全漏洞扫描工具对API进行扫描,以发现可能存在的安全漏洞。这些工具可以自动检测常见的安全漏洞,如SQL注入、跨站脚本攻击(XSS)等。

4.加密传输:确保API在传输敏感数据时使用了适当的加密技术,比如使用HTTPS协议进行数据传输,以确保数据在传输过程中的保密性和完整性。

5.安全编码检查:对接口代码进行安全编码的检查,确保在接口设计、实现、发布过程中遵循安全编码规范,如OWASP Top 10、SANS CWE Top 25等。

比如,对于一个用户信息获取的接口,首先进行输入验证测试,确保用户ID等参数的有效性;然后进行权限控制测试,确保只有授权的用户才能获取用户信息;最后进行加密传输测试,确保用户信息在传输过程中的安全性。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2174504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Xiaojie雷达之路---doa估计(dbf、capon、music算法)

Hello,大家好,我是Xiaojie,欢迎大家能够和Xiaojie来一起学习毫米波雷达知识,本篇文章主要是介绍一下雷达信号处理中的dbf、capon、music测角算法,一起来看看吧!!! 前言 本文从信号模型、dbf原理、capon原理、music原理以及代码仿真进行展开描述。 信号模型 阵列接收到…

c++与Python用笛卡尔的心形函数输出爱心

我突然想到输出爱心是否可以用笛卡尔的心形函数 在IDLE里用Python输出下面这个图形 在小熊猫c里用c输出下面这个图形 如果当你要输出这些的时候会怎么办 低级:纯输出 print( ********* ********* ***************** ***************** …

Github + Hexo + Shoka搭建个人博客以及遇到的部分问题

博客预览: 主页: 文章: 博客语言链接: 全部分类 |mmjon 不在能知,乃在能行 Shoka官方博客: Yume Shoka 優萌初華 有夢書架 (lostyu.me) 1、准备 1、github账号 :自行去github官网注册…

人生苦短,我用Python✌

面向代码的解释型语言 数据开发和AI 编程语言:让计算机了解我们干什么,翻译官 1.下载软件 解释器安装 点击第二个 改路径 D:\python 安装 测试 winr打开 输入代码 输出 退出环境 exit() 新建文本文档后缀改成py 编写 运行 安装编写代码…

MySQL 性能剖析全攻略

在使用 MySQL 数据库的过程中,性能问题往往是让开发者和管理员头疼的难题。为了有效地解决这些问题,我们需要对 MySQL 进行性能剖析。那么,如何在 MySQL 中进行性能剖析呢?本文将为你详细介绍。 一、为什么要进行性能剖析&#x…

$attrs 与 $listeners 怎么用

在组件 son、grandson 和 great-grandson 中都显示了 this is a sentence,而子组件 son 和孙组件 grandson 中都没有定义 props,说明 parent 组件中的数据正确的传递到了内部组件中。 打开控制台,分别点击组件 grandson 和 great-grandson 中…

用Python实现运筹学——Day 5: 单纯形法介绍

一、学习内容 1. 单纯形法的基本原理与步骤 单纯形法(Simplex Method)是求解线性规划问题的一种常用方法。它是一种迭代算法,用于在凸多边形的顶点上寻找目标函数的最优解,通常用于多变量的线性规划问题。单纯形法主要应用于线性…

如何查看上网记录及上网时间?5种按步操作的方法分享!【小白也能学会!】

“知己知彼,百战不殆”,在数字时代,了解自己的上网行为和时长,不仅能帮助我们更好地管理时间,还能提升工作效率和生活质量。 今天,我们就来分享五种简单易懂的方法,即便是网络小白也能轻松学会…

大模型分布式训练并行技术(九)-总结

近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练。 而利用AI集群&a…

基于Qt/C++UDP 调试软件功能及用途介绍

概述 UDP 调试软件是一个基于 Qt 框架的图形化应用程序,旨在提供一个简单易用的界面用于测试和调试 UDP(用户数据报协议)通信。该软件支持客户端和服务器模式,能够实现数据的发送和接收,方便开发者和网络工程师进行网…

PG数据库的Jsonb全文检索查询

1.操作键值对 PostgreSQL 对 jsonb 类型的筛选查询可以使用 -> 或者 ->> 操作符。 -> 操作符用于通过 JSON 对象中的键来获取对应的值。->> 操作符可以将获取到的值提取出来转化为字符串类型。 例如,下面是一个包含 jsonb 类型字段的表&#x…

企业IT安全重保服务:守护关键时刻的坚固防线

中国联通国际有限公司产品之IT安全重保服务:守护关键时刻的坚固防线 在数字化时代,信息安全已成为企业运营与国家安全的基石。随着各类重大活动、会议及内部专项工作的频繁举行,如何确保信息系统在关键时刻免受黑客攻击、网页篡改、病毒感染…

零工市场小程序的未来发展趋势

随着经济的发展,越来越多的人们选择了灵活就业的方式来工作,零工市场小程序作为灵活就业一个重要的媒介,未来的发展趋势如何呢? 其实在零工市场小程序中,有着大数据的分析、算法,可以精准的匹配到自由职业…

深度学习常见术语介绍

文章目录 数据集(Dataset)特征(Feature)标签(Label)训练集(Training Set)测试集(Test Set)验证集(Validation Set)模型(Mo…

基于Hive和Hadoop的哔哩哔哩网站分析系统

本项目是一个基于大数据技术的哔哩哔哩平台分析系统,旨在为用户提供全面的哔哩哔哩视频数据和深入的用户行为分析。系统采用 Hadoop 平台进行大规模数据存储和处理,利用 MapReduce 进行数据分析和处理,通过 Sqoop 实现数据的导入导出&#xf…

金镐开源组织成立,增加最新KIT技术,望能为开源添一把火

国内做开源的很多,知名的若依、芋道源码、Pig、Guns等,可谓是百花齐放,虽然比不上Apache,但也大大提高了国内的生产力。经过多年的发展,一些开源项目逐渐也都开始商业化。基于这样的背景,我拉拢了三个技术人…

SO-ELM预测 | MATLAB实现SO-ELM蛇群算法优化极限学习机多输入单输出

回归预测 | MATLAB实现SO-ELM蛇群算法优化极限学习机多输入单输出 目录 回归预测 | MATLAB实现SO-ELM蛇群算法优化极限学习机多输入单输出效果一览基本介绍程序设计效果一览 基本介绍 Matlab实现SO-ELM蛇群算法优化极限学习机多变量回归预测 1.data为数据集,7个输入特征,1个输…

SIGA 气路柜系统VAPORIZER SYSTEM VS-111-321 含电路图

SIGA 气路柜系统VAPORIZER SYSTEM VS-111-321 含电路图

stm32单片机个人学习笔记8(TIM输出比较)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…

第一批学Ai绘画的人,到底是怎么变现的?变现方式详细拆解!

Ai绘画技术发展到现在,已经有不少人通过这个渠道实现了变现。 我们在羡慕别人赚钱的同时,也应该从中不断地总结,思考哲轩变现方式的共同之处,在总结出找到属于自己的变现方式。 今天我就结合一些以往变现的成功案例,…