安全测试前置实践2-安全渗透测试

安全,测试,前置,实践,渗透 · 浏览次数 : 130

小编点评

**功能安全测试与安全渗透测试实践指南** **一、引言** 功能安全测试与安全渗透测试是确保应用系统的安全性至关重要的两项测试。功能安全测试在安全开发生命周期(SDL)的测试验证阶段,以验证应用系统是否符合安全需求定义和产品质量标准的过程;安全渗透测试在功能安全测试完成后和产品正式上线发布前,以发现和检查应用系统中的安全漏洞。 **二、安全渗透测试实践安全前置扫描** 安全渗透测试是功能安全测试的重要阶段,以识别白盒漏洞和黑盒漏洞问题。针对 JSRC 类问题,需要通过渗透测试进行漏洞发现。 **三、安全渗透测试实践** **1. 渗透测试目的** * 识别应用系统中可能存在的漏洞。 * 发现应用系统中可能存在被攻击者的安全隐患。 * 确保应用系统的安全水平。 **2. 渗透测试类型** * **逻辑安全测试**登录逻辑、修改密码逻辑、验证服务器验证等。 * **权限控制测试**权限设置、水平越权、垂直越权等。 * **数据安全测试**敏感信息处理、数据库交互操作等。 * **XSS测试**脚本注入、存储型、DOM型等。 **3. 常见漏洞测试** * **权限绕过**如水平越权、垂直越权等。 * **XSS**脚本注入、存储型、DOM型等。 * **SSRF**服务端请求伪造、存储XSS、反射型、存储型、DOM型等。 **4. 渗透测试实践步骤** * 选择测试工具,如 Burp Suite。 * 配置代理器,设置代理服务器地址和端口。 * 配置浏览器,设置代理服务器地址。 * 进行漏洞测试。 * 收集和分析漏洞报告。

正文

作者:京东物流 陈维

一、引言

本文我们将以围绕系统安全质量提升为目标,讲述在功能安全测试&安全渗透测试上实践过程。

希望通过此篇文章,帮助大家更深入、透彻地了解安全测试。

二、安全渗透测试实践

安全前置扫描主要是识别白盒漏洞、黑盒漏洞问题,针对JSRC类问题,需要通过渗透测试进行漏洞发现。

1.安全测试类别

安全测试根据开展的阶段不同,测试对象不同,可以分为:功能安全测试、安全渗透测试

以下是两者定义、两者的区别:

两者定义 功能安全测试 在安全开发生命周期(SDL)的测试验证阶段,对应用系统进行检验,验证是否符合安全需求定义和产品质量标准的过程 。
安全渗透测试 在功能安全测试完成后和产品正式上线发布前,以黑客视角对应用系统的可以被利用的安全漏洞进行发现和检查,以保护资产和重要数据的机密性、完整性和可用性。
功能安全测试 安全渗透测试
两者区别 出发点不同 以发现系统所有可能的安全隐患为出发点 以成功入侵系统,证明系统存在安全问题为出发点
视角不同 站在防护者角度思考问题,尽量发现所有可能被攻击者利用的安全隐患,并指导其进行修复 渗透测试是以攻击者的角度来看待和思考问题
思考域不同 以系统所具有的功能为思考域 不但包括系统的功能,还有系统的机制、外部环境、应用与数据自身安全风险与安全属性等

具体内容:

功能安全测试:

在功能测试阶段进行,由各业务线测试工程师进行,主要包括以下几个方面:

• 人员权限设置,是否满足需求文档中的说明:

1). 是否初始化好所有的角色;

2). 每个角色是否按最小权限进行功能配置;

•权限测试:水平越权、垂直越权、交叉越权;

•敏感信息处理是否符合规范;

1). 加密存储;

2). 显示屏蔽;

3). 脱敏导出;

4). 操作安全日志记录;

安全渗透测试:

逻辑安全测试 登录逻辑安全测试 主要测试登录验证逻辑是否可以绕过,是否存在验证码、是否可以撞库和暴力破解
修改密码逻辑安全测试 针对修改密码逻辑顺序绕过问题测试,针对修改密码中短信、邮件发送逻辑和其中验证码逻辑做相关测试
验证码逻辑测试 对验证码复杂度和验证码验证顺序逻辑、验证码验证重放攻击做安全测试
认证模块测试 对手机短信、ca证书等强认证模块的绕过测试
客户端安全测试 XSS测试 用户输入畸形脚本及标签过滤转义
CSRF测试 验证服务器是否添加会话TOKEN及验证referer
JSON挟持测试 检测json格式变化及是否验证referer
XSIO测试 测试是否限制图片postion为absolute
基础认证钓鱼测试 检查是否可以修改img标签的src属性构造基础钓鱼页面
URL跳转测试 检测用户能否修改应用的url参数使页面跳转到指定页面
Flash安全测试(客户端) 测试Flash配置中allowscriptaccess、allowNetworking是否合理配置
cookie安全测试 测试重点cookie是否使用了HttpOnly
CRLF测试 检查用户输入在HTTP头中返回,并且没有过滤%0a%0d
服务端安全测试 SQL注入测试 在数据库交互操作的输入点,输入sql语句测试是否可以执行
上传漏洞测试 在上传功能点,测试服务端是否对上传文件类型进行有效限制
信息泄露测试 测试应用是否对系统报错、测试页面等进行有效处理,是否会泄露系统敏感信息
文件下载安全测试 在文件下载或者读取功能上,测试功能设计是否合理,是否文件名称和路径用户可控
HTTP头测试 HTTP头代理伪造、HTTP头PUT请求等畸形数据测试
远程代码执行测试 提交特定的代码,测试代码是否会被应用执行
路径遍历测试 访问各个路径,测试是否可以显示路径下文件信息
垂直权限测试 检测普通用户是否能进入当前用户权限不能进入的功能,执行高权限操作
Flash安全测试(服务端) 检查配置文件crossdomain.xml是否配置合理
水平权限测试 测试用户是否只能操作自己当前用户的资源,是否能够操作其他相同权限用户的资源
SSRF漏洞 测试相关服务是否存在对内部网络探测
框架安全测试 struts框架安全测试 针对struts2表达式代码执行漏洞进行测试
springMVC框架安全测试 针对springMVC标签多个代码执行漏洞进行测试
openssl安全测试 针对openssl“心脏出血”等漏洞进行测试

1.功能安全测试

(1)开展功能安全测试

Step1:确定项目是否需要安全评审

参考标准(来源安全部):

•公司重点战略项目

•外网新系统

•大量外部人员使用的内网系统(建议15人以上)

•含重大商业机密,特殊敏感性的系统;

•新采购的乙方项目或外包项目;

•上面几类系统在重大升级时。

Step2:依托SDL流程开展安全测试:

Step3:测试阶段的功能安全测试:

安全用例设计->测试执行->漏洞报告

Step4:上线前的提交渗透测试

(2)功能安全在项目中开展

SDL测试阶段开展功能安全测试:

①确定测试方案:功能安全测试、安全渗透测试、代码白盒扫描、应用黑盒扫描。

②安全用例设计

③功能安全用例: 基于功能点,从权限控制、越权类、数据类 维度进行用例设计。

SDL上线前提交安全渗透测试.

2.安全渗透测试

(1)开展渗透测试

Step1:使用测试工具:

•BurpSuite安装:

下载地址:https://portswigger.net/burp/communitydownload

Proxy SwitchyOmega(代理插件):代理插件下载地址

•浏览器代理配置:

image.png

•BurpSuite -Proxy监听配置:

image.png

•BurpSuite使用:

浏览器启用Proxy进行代理,通过BurpSuite进行数据抓取:

Proxy-Repeater进行请求包的重发:

Proxy-Intruder进行暴力爆破:

选定变量参数--参数化--批量重发请求--结果获取分析。

Step2:测试执行

Step3:整理报告

(2)常见漏洞测试

权限绕过

定义:指权限控制功能不严谨,系统用户可以访问或者操作未授权的功能或者数据。

水平越权场景:当系统存在多个相同权限的用户时,A用户越权访问或操作到B用户的资源。

垂直越权场景:当系统存在不同权限的用户时,低权限用户越权访问或操作到高权限用户的资源。

未授权访问:用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问的页面或者信息。

提交了大量的举证单信息:

SSRF(服务端请求伪造)

定义:由攻击者构造请求,由服务端发起请求的安全漏洞,SSRF攻击的目标是外网无法访问的内部系统(正因为请求是服务端发起的,所以服务端能请求到与自身相连而与外网隔离的内部系统)。

存储XSS漏洞

定义:跨站脚本攻击是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种。允许恶意用户将代码注入网页,其他用户在浏览网页时会受到影响。恶意用户利用XSS代码攻击成功后,很可能获得很高的权限。

XSS分为:反射型,存储型,DOM型。

三、总结

本文主要讲述了功能安全测试&安全渗透测试 的定义、区别、开展方案,以及实践举例。

这两中安全测试既可在项目开展SDL流程的过程中开展,同时也可将安全渗透测试单独拿出来,针对组内外网系统,专项进行渗透测试。

通过这样的测试,可以降低遗漏到JSRC外部白帽问题数。

与安全测试前置实践2-安全渗透测试相似的内容:

安全测试前置实践2-安全渗透测试

本文我们将以围绕系统安全质量提升为目标,讲述在功能安全测试&安全渗透测试上实践过程。希望通过此篇文章,帮助大家更深入、透彻地了解安全测试。

安全测试前置实践1-白盒&黑盒扫描

本文我们将以围绕系统安全质量提升为目标,讲述在安全前置扫描上实践开展过程。希望通过此篇文章,帮助大家更深入、透彻地了解安全测试,能快速开展安全测试。

快速了解DevSecOps:构建安全软件开发的基石!

## 关键词 - DevSecOps — 在不影响敏捷性的前提下,将安全充分融入到SDLC的所有环节中 - SDLC—软件交付生命周期 - SCA—软件组成分析-用于识别和检测软件中使用的开源/第三方组件的已知安全漏洞 - SAST—静态分析安全测试 - DAS—动态分析安全测试 - IAST—交互

GPT-4多态大模型研究

1.概述 GPT-4是OpenAI最新的系统,能够产生更安全和更有用的回应。它是一个大型的多模态模型(接受图像和文本输入,输出文本),在各种专业和学术的基准测试中展现了人类水平的表现。例如,它在模拟的律师资格考试中得分位于前10%的考生之列;相比之下,GPT-3.5的得分位于后10%。 GPT-4是

kafka学习之三_信创CPU下单节点kafka性能测试验证

# kafka学习之三_信创CPU下单节点kafka性能测试验证 ## 背景 ``` 前面学习了 3controller+5broker 的集群部署模式. 晚上想着能够验证一下国产机器的性能. 但是国产机器上面的设备有限. 所以想着进行单节点的安装与测试. 并且记录一下简单结果 希望对以后的工作有指

[转帖]关于虚拟化中cpu的指令集SSE 4.2的不支持

背景: 局域网中有两台服务器proxmox进行了虚拟化,跑一些测试应用。今天正好想要安装一下clickhouse跑一下。安装前准备: 测试服务器是否支持sse 4.2指令集…如下 [root@slave1 app]# grep -q sse4_2 /proc/cpuinfo && echo "SSE

[转帖]Jmeter插件之ServerAgent服务器性能监控工具的安装和使用

https://www.cnblogs.com/pachongshangdexuebi/p/13354201.html 一、前言 性能测试时我们关注的重要指标是:并发用户数,TPS,请求成功率,响应时间,服务器的CPU,memory, I/O disk等。Jmeter的聚合报告可以查看并发数、吞吐量

[转帖]Alertmanager 部署配置

https://www.cnblogs.com/winstom/p/11940570.html 目录 前言 源码安装 配置 启动 配置prometheus监控Alertmanager 修改prometheus配置 重新加载配置文件 配置测试告警 修改prometheus配置 重新加载配置文件 测试触

[转帖]HTTP压测工具wrk使用指南

https://www.cnblogs.com/liufarui/p/11063328.html 【前言】 笔者使用wrk,是为了测试nginx转发报文的时候set_proxy_header规则,然后发现wrk尤其的好用,所以在这里写下来,以后用的时候还能查一查。 【安装】 不讲概念了,直接讲安装。

[转帖]docker 最新版本升级

文章目录 前言一、卸载低版本docker1.1 检查docker版本1.2 删除docker 二、开始安装2.1 安装所需依赖2.2 设置docker yum源2.3 查看所有可用版本2.4 安装Docker 三、启动Docker3.1 启动docker服务、设置开机自启3.2 重启机器测试3.3