作者:京东物流 陈维
一、引言
本文我们将以围绕系统安全质量提升为目标,讲述在功能安全测试&安全渗透测试上实践过程。
希望通过此篇文章,帮助大家更深入、透彻地了解安全测试。
二、安全渗透测试实践
安全前置扫描主要是识别白盒漏洞、黑盒漏洞问题,针对JSRC类问题,需要通过渗透测试进行漏洞发现。
1.安全测试类别
安全测试根据开展的阶段不同,测试对象不同,可以分为:功能安全测试、安全渗透测试。
以下是两者定义、两者的区别:
具体内容:
功能安全测试:
在功能测试阶段进行,由各业务线测试工程师进行,主要包括以下几个方面:
• 人员权限设置,是否满足需求文档中的说明:
1). 是否初始化好所有的角色;
2). 每个角色是否按最小权限进行功能配置;
• 权限测试:水平越权、垂直越权、交叉越权;
• 敏感信息处理是否符合规范;
1). 加密存储;
2). 显示屏蔽;
3). 脱敏导出;
4). 操作安全日志记录;
安全渗透测试:
1.功能安全测试
(1)开展功能安全测试
Step1:确定项目是否需要安全评审
参考标准(来源安全部):
• 公司重点战略项目
• 外网新系统
• 大量外部人员使用的内网系统(建议15人以上)
• 含重大商业机密,特殊敏感性的系统;
• 新采购的乙方项目或外包项目;
• 上面几类系统在重大升级时。
Step2:依托SDL流程开展安全测试:
Step3:测试阶段的功能安全测试:
安全用例设计->测试执行->漏洞报告
Step4:上线前的提交渗透测试
(2)功能安全在项目中开展
SDL测试阶段开展功能安全测试:
①确定测试方案:功能安全测试、安全渗透测试、代码白盒扫描、应用黑盒扫描。
②安全用例设计
**③功能安全用例:**基于功能点,从权限控制、越权类、数据类 维度进行用例设计。
SDL上线前提交安全渗透测试.
2.安全渗透测试
(1)开展渗透测试
Step1:使用测试工具:
• BurpSuite安装:
下载地址:https://portswigger.net/burp/communitydownload
Proxy SwitchyOmega(代理插件):代理插件下载地址
• 浏览器代理配置:
• BurpSuite -Proxy监听配置:
• BurpSuite使用:
浏览器启用Proxy进行代理,通过BurpSuite进行数据抓取:
Proxy-Repeater进行请求包的重发:
Proxy-Intruder进行暴力爆破:
选定变量参数–参数化–批量重发请求–结果获取分析。
Step2:测试执行
Step3:整理报告
(2)常见漏洞测试
权限绕过
定义:指权限控制功能不严谨,系统用户可以访问或者操作未授权的功能或者数据。
水平越权场景:当系统存在多个相同权限的用户时,A用户越权访问或操作到B用户的资源。
垂直越权场景:当系统存在不同权限的用户时,低权限用户越权访问或操作到高权限用户的资源。
未授权访问:用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问的页面或者信息。
提交了大量的举证单信息:
SSRF(服务端请求伪造)
定义:由攻击者构造请求,由服务端发起请求的安全漏洞,SSRF攻击的目标是外网无法访问的内部系统(正因为请求是服务端发起的,所以服务端能请求到与自身相连而与外网隔离的内部系统)。
存储XSS漏洞
定义:跨站脚本攻击是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种。允许恶意用户将代码注入网页,其他用户在浏览网页时会受到影响。恶意用户利用XSS代码攻击成功后,很可能获得很高的权限。
XSS分为:反射型,存储型,DOM型。
三、总结
本文主要讲述了功能安全测试&安全渗透测试 的定义、区别、开展方案,以及实践举例。
这两中安全测试既可在项目开展SDL流程的过程中开展,同时也可将安全渗透测试单独拿出来,针对组内外网系统,专项进行渗透测试。
通过这样的测试,可以降低遗漏到JSRC外部白帽问题数。