安全测试中常见的业务安全问题

“在测试过程中,特殊的操作往往容易触发异常场景,而这些异常场景也很容易引起安全问题!”

常见的安全漏洞就不多说了,这里主要介绍常见的业务安全问题及修复建议。

安全测试中常见的业务安全问题

01 刷短信

问题描述:

当发送短信的请求接口只需要手机号码或其他可猜解的明文身份ID,则有可能被攻击者通过发包工具,大量发送给其他手机号码或用户,以达到刷短信的目的,这不仅导致资源被占用,还可能会导致被运营商拉黑,使整个网站的短信验证码瘫痪!

建议:

多加一层校验,如:图形验证码、第三方校验等。

02 爆破短信验证码

问题描述:

当验证码为6位数以内纯数字,有可能会被攻击者通过工具穷举爆破!

建议:

限制验证码的有效时间,并且限制验证码的错误次数。在这并不建议只加长短信验证码位数,不能把赌注押在日益更新的计算机性能上!

03 重置密码

问题描述:

当重置密码接口,只需要可猜解的明文身份ID或其他已暴露的信息时,有可能会被攻击者通过改包工具,更改用户身份,来达到篡改其他人的用户密码。

建议:

1、校验当前用户身份与短信验证码是否匹配;

2、用户身份加密,不可被猜解;

3、如果使用加密信息校验用户身份,需要保管好加密信息,不能随意显示在外面,并且限制好加密信息有效范围,防止加密信息泄密后被攻击者利用。

04 第三方登录

问题描述:

当使用第三方登录时,只需要第三方传过来的可猜解的明文身份ID,有可能会被攻击者利用篡改数据,冒充其他用户!

建议:

后端校验用户身份不要直接校验明文可猜解或公开的用户信息,可进行加密处理后再校验。

05 后端校验逻辑漏洞

问题描述:

1、每个业务最后一步变更数据的请求接口如果不做校验只接收数据,有可能会被攻击者利用,进行篡改已固定的数据!

2、同时执行多个有相关联的业务处理时,有可能会导致业务逻辑漏洞。

问题一建议:

1、控制参数值的有效范围;

2、校验处理的数据是否与提交请求的数据一致;

3、APP做校验证书,APP只信任服务器公钥。

问题二建议:

1、按顺序执行,需要共同资源时,单个执行,不建议并发处理;

2、先判断后处理还是先处理后判断,要注意业务处理先后顺序。

源自  Shirley的测试之路



留言