一、概述:
服务端安全主要涉及测试项如下,主要涉及安全策略、业务安全和系统组件安全。
二、测试项:
1、安全策略
安全策略主要是安全设计方面存在的问题,大多为配置错误,包含以下四方面:
1)认证鉴别
包括密码复杂度(弱口令)、多因素检验(验证码)、失败锁定机制、单点登录限制等方面;
2)会话机制
包括会话超时、登录会话重放及安全退出问题;
3)验证码安全
若在登录、注册、找回密码、密码重置等功能处存在验证码,可测试是否存在验证码设计缺陷,验证码包含图片、短信、语音等形式,相关技术及测试项可参考:
https://bloodzer0.github.io/ossa/captcha_security/captcha/
4)手势密码
手势密码是手机端比较常用的一种身份验证方式,设计流程为:
关于手势密码的测试项有以下三方面:
a)手势绕过
关于手势密码绕过的七个姿势,参考:
http://www.tanxingcai.com/yunanquan/3375.html
b)本地存储
个别应用将用户设置的手势密码明文保存在配置文件
/data/data/com.hebao.app/shared_prefs/shared_other.xml中:
或保存在数据库cn.ename.manage\databases\EnameDataBase.db中
将数字转换为九宫格数字则可以还原手势,通过ADB 工具可以读取此文件内容,后续将详细讲解此工具。
c) 锁定机制
一般手势密码允许输入的错误次数为5次,若未设置锁定机制则存在问题;此外若存在锁定机制,可借用绕过思路看能否绕过。
2、业务安全
业务安全问题和BS系统逻辑漏洞有很多类似之处,包含:
1)短信安全
短信是APP端频繁使用的功能,若存在此功能则需要测试:短信是否前端校验、前端返回、可复用、可修改返回包等验证码绕过办法,除此之外需测试是否可进行短信炸弹攻击,参考:
https://www.secrss.com/articles/2699
2)业务逻辑
APP端的业务逻辑漏洞大多为越权漏洞(IDOR),可重点测试涉及用户权限及交易操作的业务,关注业务包中的类似id参数,若未在服务端做用户权限绑定则会存在越权和数据遍历漏洞。
3、系统组件安全
在信息收集阶段需要获得APP服务端的相关信息包括:OS版本、服务(端口)、业务系统服务器等,较为常见的漏洞为命令执行漏洞,如:struts2命令执行、心脏出血、ImageMagick(CVE-2016-3714)等,可探测服务器端口、指纹等确定服务器类型及版本号。
APP安全问题大部分在客户端,涉及的测试项和测试工具也是最多的,下次详解。