作者:京东物流 陈维

一、导言

本文咱们将以围绕体系安全质量提升为方针,叙述在功用安全测验&安全浸透测验上实践进程。

期望经过此篇文章,帮助我们更深入、透彻地了解安全测验。

二、安全浸透测验实践

安全前置扫描主要是辨认白盒缝隙、黑盒缝隙问题,针对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装置:

下载地址:portswigger.net/burp/commun…

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

•阅读器署理装备:

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

•BurpSuite -Proxy监听装备:

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

•BurpSuite运用:

阅读器启用Proxy进行署理,经过BurpSuite进行数据抓取:

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

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

Proxy-Intruder进行暴力爆炸:

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

Step2:测验履行

Step3:整理陈述

(2)常见缝隙测验

权限绕过

界说:指权限操控功用不谨慎,体系用户能够拜访或许操作未授权的功用或许数据。

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

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

未授权拜访:用户在没有经过认证授权的情况下能够直接拜访需求经过认证才干拜访的页面或许信息。

提交了很多的举证单信息:

SSRF(服务端恳求假造)

界说:由进犯者结构恳求,由服务端建议恳求的安全缝隙,SSRF进犯的方针是外网无法拜访的内部体系(正因为恳求是服务端建议的,所以服务端能恳求到与本身相连而与外网阻隔的内部体系)。

存储XSS缝隙

界说:跨站脚本进犯是一种针对网站运用程序的安全缝隙进犯技能,是代码注入的一种。允许歹意用户将代码注入网页,其他用户在阅读网页时会受到影响。歹意用户运用XSS代码进犯成功后,很或许获得很高的权限。

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

三、总结

本文主要叙述了功用安全测验&安全浸透测验 的界说、差异、展开方案,以及实践举例。

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

经过这样的测验,能够下降遗漏到JSRC外部白帽问题数。

本文正在参与「金石方案」