热饭面试复习:【安全测试相关】-完

简介: 热饭面试复习:【安全测试相关】-完

本章内容为安全测试的基础,阅读时间大概【五分钟】,很重要!


安全测试 和 常规测试的 区别

目标不同:

安全测试为了发现安全隐患为目标;常规测试则是为了发现bug

条件不同:

安全测试假设问题产生是由于黑客行为,有极高的针对性;常规测试相关的只有脏数据,属于用户不小心造成的。

思考域不同:

安全测试需要考虑系统的外部环境,应用数据安全;常规测试基于功能出发。

问题发现依据不同:

安全测试以违反权限和能力作为判定漏洞依据;常规测试基于功能需求出发。


安全测试和渗透测试 的区别

出发点不同:

安是以发现安全隐患出发;渗是以成功入侵系统,证明系统存在安全隐患出发;

视角不同:

安是站在防护者角度自查;渗是以攻击者角度来攻击。

覆盖性:

安是测试系统架构层面;渗是值针对几个点进行攻击测试。

成本诧异:

安需要成本大;渗需要成本小

解决方案不同:

安站在开发者角度,最终能提供解决方案;渗则可以只抛出问题即可


常见的安全测试工具

Web漏洞扫描工具——AppScan

拥有十分强大的报表。采用黑盒方式自动探查。

1)探测:在探测阶段,AppScan通过发送请求对站内的链接、表单等进行访问,根据响应信息检测目标程序可能存在的安全隐患,从而确定安全漏洞范围。
(2)测试:在测试阶段,AppScan对潜在的安全漏洞发起攻击。AppScan有一个内置的测试策略库,测试策略库可以针对相应的安全隐患检测规则生成对应的测试输人,AppScan就使用生成的测试输人对安全漏洞发起攻击。
(3)扫描:在扫描阶段,AppScan会检测目标程序对攻击的响应结果,并根据结果来确定探测到的安全漏洞是否是一个真正的安全漏洞,如果是一个真正的安全漏洞则根据其危险程度确定危险级别,为开发人员修复缺陷提供依据。

端口扫描工具——Nmap

网络端口自动扫描。

主机扫描:用于发现目标主机是否处于活动状态。Nmap提供了多种主机在线检测机制,可以更有效地辨识主机是否在线。
·端口状态扫描:Nmap可以扫描端口,并将端口识别为开放、关闭、过滤、未过滤、开放或过滤、关闭或过滤6种状态。默认情况下,Nmap可以扫描1 660 个常用的端口,覆盖大多数应用程序使用的端口。
·应用程序版本探测: Nmap可以扫描到占用端口的应用程序,并识别应用程序版本和使用的协议等。Nmap可以识别数千种应用的签名,检测数百种应用协议。对于不识别的应用,默认打印应用的指纹。
·操作系统探测: Nmap可以识别目标主机的操作系统类型、版本编号及设备类型。它支持1500个操作系统或设备的指纹数据库,可以识别通用PC系统、路由器、交换机等设备类型。
·防火墙/IDS逃避和欺骗:Nmap可以探查目标主机的状况,如IP欺骗、IP伪装、MAC地址伪装等。
·支持测试对象交互脚本:交互脚本用于增强主机发现、端口扫描、版本侦测和操作系统侦测等功能,还可扩展高级的功能,如Web扫描、漏洞发现和漏洞利用等。

抓包工具 fiddler chalres等

它以代理Web服务器形式工作,帮助用户记录计算机和Intermet之间传递的所有HTTP( HTTPS)流量

可以捕获来自本地运行程序的所有流量,从而记录服务器到服务器、设备到服务器之间的流量。此外,Fiddler 还支持各种过滤器,如“隐藏会话”“突出特殊流量”“在会话上操纵断点” “阻止发送流量”等,这些过滤 器可以过滤出用户 想要的流量数据,节省大量时间和精力。

Web渗透测试工具一Metasploit

一个渗透测试平台,能够查找、验证漏洞,并利用漏洞进行渗透攻击。

(1)渗透模块( Exploit):运行时会利用目标的安全漏洞进行攻击。
(2)攻击载荷模块( Payload):在成功对目标完成一次渗透之后,测试程序开始在目标计算机上运行。它能帮助用户在目标系统上获得需要的访问和行动权限。
(3)辅助模块( Auxiliary):包含了一系列的辅助支持模块,包括扫描模块、漏洞发掘模块、网络协议欺骗模块。
(4)编码器模块( Encoder):编码器模块通常用来对我们的攻击模块进行代码混淆,逃过目标安全保护机制的检测,如杀毒软件和防火墙等。
(5) Meterpreter:使用内存技术的攻击载荷,可以注人进程之中。它提供了各种可以在目标上执行的功能。


常见攻击方式

sql注入

就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

xss跨站攻击

攻击者注入任意脚本(一般是javascript)到合法网站或者web程序中,这个脚本执行在客户端

css攻击

包含点击劫持:用户点击到其他透明的按钮上。

css流量劫持:用户进入页面点击到透明蒙层跳转到其他页面

xpath注入

攻击者注入数据到应用程序中来执行精心准备的XPath查询,以此来获得无授权访问和bypass授权

相关文章
|
6月前
|
Web App开发 编解码 前端开发
面试题22:如何测试Web浏览器的兼容性?
面试题22:如何测试Web浏览器的兼容性?
151 3
|
6月前
|
测试技术
面试题3: 描述测试用例设计的完整过程
面试题3: 描述测试用例设计的完整过程
|
6月前
|
程序员
面试高频题:开发人员说不是bug,测试如何答复?
面试高频题:开发人员说不是bug,测试如何答复?
116 0
|
1月前
|
NoSQL 测试技术 Redis
第一次面试总结 - 迈瑞医疗 - 软件测试
本文是作者对迈瑞医疗软件测试岗位的第一次面试总结,面试结果非常好,但面试过程中没有提问太多技术性问题,主要围绕个人介绍、互相了解、个人规划和项目亮点进行,因此作者认为这次面经的学习意义不大。作者还提到了实习岗位的待遇和工作内容,以及对不同阶段求职者的建议。
37 2
|
3月前
|
SQL 安全 测试技术
[go 面试] 接口测试的方法与技巧
[go 面试] 接口测试的方法与技巧
|
4月前
|
IDE Java 测试技术
Java面试题:什么是Java中的单元测试以及如何编写单元测试?
Java面试题:什么是Java中的单元测试以及如何编写单元测试?
175 1
|
4月前
|
IDE Java 测试技术
Java面试题:描述在Java中使用JUnit进行单元测试的过程
Java面试题:描述在Java中使用JUnit进行单元测试的过程
51 0
|
6月前
|
数据采集 JSON 数据格式
2024年最新【python基础教程】常用内置模块(1),2024年最新头条测试面试
2024年最新【python基础教程】常用内置模块(1),2024年最新头条测试面试
|
6月前
|
存储 安全 测试技术
面试题11: 如何测试一个APP?
面试题11: 如何测试一个APP?
面试题11: 如何测试一个APP?
|
6月前
|
SQL Web App开发 存储
面试题5: 如何编写提交给用户的测试报告?
面试题5: 如何编写提交给用户的测试报告?
面试题5: 如何编写提交给用户的测试报告?