什么是安全测试

article/2025/9/8 5:24:33

一、安全测试概述


1.1.定义
安全测试是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程

1.2.概念
安全测试是检查系统对非法侵入渗透的防范能力

1.3.准则
理论上来讲,只要有足够的时间和资源,没有无法进入的系统。因此,系统安全设计的准则是使非法侵入的代价超过被保护信息的价值

1.4.目标
通过对系统进行全面的脆弱性安全测试,发现系统未知的安全隐患并提出相关建议,确保系统的安全性。安全性一般分为应用程序级别和系统级别,区别如下:

应用程序级别:包括对应数据或业务功能的访问,核实应用程序的用户权限只能操作被授权访问的那些功能或数。
系统级别:包括对操作系统的目录或远程访问,主要核实具备系统和应用程序访问权限的操作者才能访问系统和应用程序


二、安全漏洞


细分流程图,安全漏洞根据客户端与服务器端的分布

在这里插入图片描述
2.1.钓鱼
黑客构造一个跟知名网站很相似的网站,吸引用户登录,输入敏感信息,或通过邮件等验证方式,不知不觉中获得用户的登录密码之类的

2.2.暗链
其实“暗链”就是看不见的网站链接,“暗链”在网站中的链接做的非常隐蔽,短时间内不易被搜索引擎察觉。它和友情链接有相似之处,可以有效地提高PR值。但要注意一点PR值是对单独页面,而不是整个网站

2.3.xss
跨站脚本攻击。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的

2.4.点击劫持
是一种视觉上的欺骗手段。大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;二是攻击者使用一张图片覆盖在网页,遮挡网页原有位置的含义

2.5.CSRF
简单说, 攻击者盗用了你的身份,以你的名义发送恶意请求
限制的方式可以包括:
1)referer的限制
2)加入有效性验证Token
3、对跳转的地址没有做严格的校验

2.6.sql注入
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击

2.7.文件上传/文件包含
上传的附件没有进行过滤,当上传的文件为危险文件时,依然可以上传成功。 这样很容易服务器的后台被控制

2.8.暴力破解
使用一个好的字典,利用工具,暴力破解网站的登录名和密码

网络安全学习资源分享:

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享🎁

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

在这里插入图片描述

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享🎁

因篇幅有限,仅展示部分资料,需要点击上方链接即可获取

三、安全测试流程


提交申请
准备测试环境
收集基础信息
执行渗透测试
测试结果分析
编写测试报告

四、 测试特性


安全特性:操作系统安全、数据库安全、WEB安全、软件的发布和安装安全、协议与接口攻防、敏感数据保护、手机端安全、静态代码分析

4.1.操作系统安全
操作系统安全我们可以把它分为以下几块:
系统漏洞(操作系统补丁)、系统配置(安全加固)
工具Nessus,开源的工具可以使用OpenVAS。

4.2.数据库
数据库安全我们可以把它分为以下几块:
数据库漏洞(补丁)、数据库配置特产(安全加固)
工具可以使用Ngs

4.3.web安全
web安全我们可以把它分为以下几块:
身份验证、验证码、会话管理、权限管理、敏感信息传输、安全审计、信息泄露、输入校验、输出编码、上传下载、异常处理、注释代码等
容器的安全(tomcat)
应用软件安全(nginx、负载均衡软件、jquery等)
扫描工:appScan、awvs

1.身份验证

复杂度要求,必须由大写、小写、数字等组成
时效性要求,建议用户3个月更改一次口令
密码长度要求,最小8位,最大?位
管理员重置密码后密码必须在下次登录更改
强度要求,不能跟原密码一致,不能与用户名相似
必须要有验证码机制
手机验证码超时机制

2.弱密码

3.验证码

验证码字符生成算法的安全随机数
验证码字符不能被验证码识别工具识别
验证码必须是一次性的
验证码超时

4.会话管理

登录前后会话要有变化
安全退出会话注销
会话超时机制
会话标识的传输和存储

5.敏感信息传输及存储

敏感信息不能以get方式提交
传输通道使用https
严格安全传输HSTS
对用户保密的信息不能传输到客户端
含有敏感信息的页面需要设置不缓存

4.4.软件的发布与安装安全
发布件的完整性校验(签名、哈希)
防病毒:需要安装的软件需要经过常用的杀毒软件(如360、金山毒霸等)的扫描,保证没有病毒特种码,以免被杀软处理掉

4.5.协议与接口攻防
业务交互数据在网络中使用的协议安全性测试
协议测试工具:codenomical
对外开放的端口:系统对外开放的端口必须是必要的,禁止开放无用端口
端口扫描工具:Nmap,近端可以直接在服务器上使用命令查看
接口:接口接受的数据需要做严格的处理

4.6.敏感数据保护
识别敏感数据:密码、秘钥、会话标识;个人信息、商业机密、客户信息等
保护:加密、存储位置、传输方式;获取数据脱敏、匿名化

4.7.手机端安全
app的签名、反逆向,用户隐私,文件权限,网络通讯,升级
1、app的签名、反逆向

2、用户隐私

本地保存用户密码、无论加密与否,敏感信息隐私信息,如聊天记录、关系链、银行卡号等是否加密保存
配置文件等是否保存到外部设备上
保存到外部设备的信息加载前判断是否被篡改

3、文件权限

App所在目录不允许其他组成员读写

4、网络通讯

重要敏感数据传输加密

5、运行时解释保护

嵌有解释器的软件XSS、SQL注入等
外部连接的是否有URL欺骗等漏洞

6、组件权限保护

禁止App内部组件被任意第三方程序调用
调用外部组件先验证签名

7、升级

升级包完整性、合法性校验,避免被劫持

8、3rd库

跟进第三方库的更新

4.8.静态代码分析(纯白盒)
白盒测试主要是通过对代码的浏览来发现问题
1、危险函数
2、工具检测
3、逻辑漏洞

4.9.灰盒
需要的地方对代码进行动态调试查看。审计中思路可以考虑如下部分
1、涉及敏感数据的时候,检查是get、post哪种形式发送数据

2、提交铭感数据的时候是否有防止csrf的token、refer、验证码

3、sql注入

4、XSS
我们用的antisamy只能过滤基于标签的XSS伪造,其他的无法过滤,需要做二次过滤

5、权限校验、越权

6、session会话管理
常规cookie及session形式,把token作为session的形式,特别注入登录用户和token的绑定关系

7、代码中使用的第三方插件、开源软件是否是最新、是否有安全漏洞

8、代码中所使用的加密算法,是否是安全的

9、跳转中的redirect(Spring MVC中redirect重定向)形式中不要带敏感信息,会被发回客户端重新请求的,相当于把这些参数放在了get请求中

10、SSRF服务端请求伪造,注意url中含有另外一个url的请求

11、加密算法的使用,是否使用的是不合场景的弱算法

五、 加密算法


5.1.弱算法
md2,md4,md5(2004年的国际密码学会议(Crypto’2004)王小云证明了MD5可以被碰撞,至此,MD5不再安全) ,sha1,blowfish

5.2. 推荐算法
sha256,aes128

5.3. 可逆的加密算法
des 3des aes128

5.4. 可逆加密算法 “对称式”和“非对称式”
对称式加密特点
加密和解密使用同一个密钥,通常称之为“Session Key ”
DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES

非对称式加密特点
加密和解密所使用的不是同一个密钥,而是两个密钥:一个称为“公钥”,另一个称为“私钥”;它们两个必须配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则只能由持有人本人知道。

常见的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

不可逆加密算法:sha256 sha512 md5
不可逆加密算法的特征是,加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文。这种加密后的数据是无法被解密的,只有重新输入明文
常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1
MD5输出128bit
SHA1输出160bit
SHA256输出256bit
另外还有SHA244,SHA512
分别输出244bit,512bit

六、 常用工具


6.1. Burpsuit
一个用于攻击web应用程序的集成平台,包含大量的安全测试工具,并为这些工具设计了对外访问接口,以加快攻击应用程序的过程

6.2.Wireshark
适用于Windows和Linux的网络协议分析工具,也是一个很出名的数据包分析工具,可以检查网络流量,是观察TCP/IP异常流量的很好的工具,Wireshark是个抓包工具,或者更确切的说,它是一个有效的分析数据包的开源平台

6.3.Metasploit
漏洞监测工具
Metasploit本质上是一个为用户提供已知安全漏洞主要信息的计算机安全项目(框架),并且Metasploit帮助指定渗透测试和IDS监测计划、战略以及利用计划

6.4.Maltego
取证,证书
Maltego跟其他取证工具不同,因为它在数字取证范围内工作。Maltego被设计用来把一个全面的网络威胁图片传给企业或者其他进行取证的组织的局部环境,它是一个平台

6.5.Appscan
一个领先的web应用安全工具,可自动进行安全漏洞评估、扫描和检测所有常见的web应用安全漏洞,如:SQL注入、跨站点脚本攻击(CSS)、缓冲区溢出等
涵盖 XML 和 JSON 基础架构的 SOAP 和 REST Web 服务测试支持 WSSecurity 标准、 XML 加密和 XML 签名。详细的漏洞公告和修复建议

6.6.Awvs
AWVS ( Acunetix Web Wulnerability Scanner)是一个自动化的Web 应用程序安全测试工具,它可以扫描任何可通过Web 浏览器访问的和遵循 HTTP/HTTPS 规则的 Web站点和 Web应用程序、国内普遍简称WVS

6.7.Nmap
端口扫描器
Nmap被用于发现网络和安全审计。据数据统计,全世界成千上万的系统管理员使用nmap发现网络、检查开放端口、管理服务升级计划,以及监视主机或服务的正常运行时间。Nmap是一种使用原始IP数据包的工具,以非常创新的方式决定网络上有哪些主机,主机上的哪些服务(应用名称和版本)提供什么数据、什么操作系统、什么类型、什么版本的包过滤/防火墙正在被目标使用

6.8.kail Linux
目前比较流行的安全渗透测试平台,包含了最新的安全测试工具,允许用户从CD或者U盘启动,通过U盘来实施安全渗透测试

6.9.Acunetix
网络漏洞扫描器
Acunetix是一款非常受欢迎并且非常使用的自动漏洞扫描器,Acunetix通过抓取和扫描网站和Web应用的SQL注入、XSS、XXE、SSRF和主机头攻击和其他500多个web漏洞

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享🎁


http://chatgpt.dhexx.cn/article/TfFKs004.shtml

相关文章

如何从0到1做一次完整的安全测试

大家好,我是馨馨,一个混过大厂,待过创业公司,有着6年工作经验的软件测试妹纸一枚。近期针对公司项目做了一次完整的安全测试,扫描出来了不少漏洞,价值还挺大的。回顾整个流程,并没有特别复杂的点…

机器学习之向量空间的基本概念

向量空间:如果在一个空间中,任取若干个向量进行相加或数乘,其计算结果仍然在该空间中,则称这个空间为向量空间。换句话说,向量空间对于相加和数乘运算是封闭的(closed)。 当然,基于向量的广义定义&#xff…

什么是向量空间

向量 AB(AB上面有→)的大小(或长度)叫做向量的模,记作|AB|(AB上有→)或|a|(a上有→)。 向量空间又称线性空间,是线性代数的中心内容和基本概念之一。在解析几何里引入向量概念后,使许多问题的处…

向量空间中的:线性相关与线性无关

生成空间:以二维空间为例,给定两个非零向量。 其中两个非零向量系数a,b任意取值组合,就可以得到整个二维空间,除非两向量共线。 一个向量固定,另一个向量自由变化,其线性组合可得到一条直线。 …

关于向量空间和线性空间的认识

Reason 这两天学习张贤达的《矩阵分析和应用》,1.3.2节对向量空间的定义扩展,然后突然扩展到线性空间让我很不适应,并不能理解二者的关系。上网一查更迷惑了,很多的线性代数教材倾向于将二者等价,大家对向量空间和线性…

线性代数学习之向量空间,维度,和四大子空间

空间: 在上一次https://www.cnblogs.com/webor2006/p/14306046.html学习了诸多在线性代数中非常核心的概念(线性组合、线性相关、线性无关、生成空间,空间的基...),这次则继续学习重要的核心概念(空间、维度、四大子空间)。在之前的学习中用到…

大数据入门10:向量空间模型(Vector Space Model)

文章目录 向量空间模型(Vector Space Model)0. 概述1. TF(Term frequency ,TF)2. IDF(Inverse document frequency,IDF)3. TF-IDF(Term Frequency-Inverse Document Frequency)4. Similarity Function 相似性函数5. 举…

05转置和向量空间

进入了向量空间才算开始了线性代数的大门。几个重要的概念: 列空间包含所有列向量的线性组合,记作 C ( A ) C(A) C(A);当且仅当 b b b在 A A A的列空间时, A X b AXb AXb才有解; 一个 m n m\times n mn的系数矩阵 …

向量空间模型算法(Vector Space Model)

概念介绍 向量空间模型(VSM:Vector Space Model)由Salton等人于20世纪70年代提出,并成功地应用于文本检索系统。 VSM概念简单,把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语…

向量空间搜索引擎理论

简述 向量空间搜索引擎使用了一个非常简单的计数对于矩阵代数去比较基于词频的文档。 向量空间搜索引擎的第一个主要组成部分是概念术语空间。简单地说,术语空间由每个唯一的单词组成出现在文档集合中。 向量空间搜索引擎的第二个主要组成部分是项目计数。项目计…

向量空间 vector space

向量空间表示为 R 1 , R 2 , R 3 , R 4 , . . . , R n \bf{R}^1, \bf{R}^2, \bf{R}^3, \bf{R}^4, ..., \bf{R}^n R1,R2,R3,R4,...,Rn 。 R n \bf{R}^n Rn 表示 n n n 维向量集合所组成的空间,称为二维向量空间。但是,并不是所有集合组成的空间都能称作…

向量空间的基

1 向量空间的基 1.1 回顾 继续往下之前,先总结下前面所学的。先是学习了向量,然后把同维数的向量放在集合中构成了向量组: 然后通过向量组得到张成空间,也就是关注的核心,向量空间: 1.2 定位 定义向量空间之后,我们就需要去研究它。就如研究宇宙空间,需要把每一颗恒…

线性代数-向量空间

线性代数-向量空间 向量空间向量空间张成空间等价向量组最大无关组向量组的秩 向量空间的基基与坐标向量空间的维度 点积(数量积)欧几里得空间长度角度新的运算点积的定义长度/角度与自然基点积的性质欧氏距离和余弦距离小结 向量空间 向量空间 向量空间的严格定义&#xff1…

向量空间、子空间、列空间

1.向量空间、子空间、列空间 1.1 向量空间 向量空间是由列空间组成的 诸如下面 v \boldsymbol{v} v 这样的类型的所有向量构成了空间 R n \boldsymbol{R}^n Rn,可以将空间看作一个集合,集合中的每个元素都是一个类似于 v \boldsymbol{v} v 的向量 …

向量与向量空间

向量与向量空间 这一篇文章是线性代数系列的第一篇,国内外一般的课程与教材都是从线性方程组开始讲线性代数,从高斯消元、高斯约旦这些方法入门线性代数也是对新手比较友好的。这个系列的文章可能会比国内的教材更接近线代的本质(博主自以为…

线性代数之——向量空间

1. 向量空间和子空间 向量空间 R n \boldsymbol R^n Rn 由所有的 n n n 维向量 v v v 组成,向量中的每个元素都是实数。 向量空间 R 2 \boldsymbol R^2 R2 可以用 x y xy xy 平面来表示,其中的每个向量有两个元素,它们定义了平面上一个…

4.1 向量空间与子空间

主要内容 本节讲述了向量空间的概念,这里要把之前由几何概念得到的对向量空间的直觉进行进一步抽象和泛化,只要满足定义的一组向量,都可以构成向量空间,例如多项式、实函数等等。在向量空间的基础上,引入了子空间的概…

向量空间模型

实数域定义向量 设有一个数的集合 F,它满足“F 中任意两个数的加减乘除法(除数不为零)的结果仍然在这个 F 中”,我们就可以称 F 为一个“域”。我们处理的数据通常都是实数,所以这里我只考虑实数域。而如果域 F 里的元…

线性代数 --- 向量空间(vector space)与子空间(subspace)

Part I --- 向量空间: 向量空间就是由包含n个分量的列向量所组成的Rn的空间,其中R表示实数。例如,R2就代表了一般的x-y平面,其中包含两个分量的向量表示坐标系中的一个点(x,y)。同理,R3中的一个向量,包含三…

向量空间

向量空间的概念 定义:设 V 是 n 维向量的集合,如果满足 若 a ∈ V, b ∈ V,则a b ∈ V .(对加法封闭)若 a ∈ V,k∈ R,则ka ∈ V . (对数乘封闭…