– “隐患险于明火,防范胜于救灾,责任重于泰山”
安全问题不容忽视,不要亡羊补牢!
前言
本文详细介绍了针对发送短信验证码接口的安全性测试过程,包含思路、部分测试代码已经测试结果。
本次测试网站 —听云(tingyun.com)
听云是一家提供数字化运维服务的网站,给运维人元提供数字化运维后台,能为运维工作提供便利。
一丶找到对外短信接口
从该网站注册入口可以发现,有发送短信验证码的地方。
二丶分析外部防御措施
-
输入手机号
-
点击发送验证码
发现并没有图片验证码等人机校验
外部防御措施:无
三丶查看请求报文
1. 找到发送短信的请求
按下F12
打开浏览器控制台,再次点击发送验证码
按钮通过控制台找出发送短信的那个请求。
2. 查看请求方式
3. 查看请求报文头
4. 查看请求参数
5. 查看返回值
四丶分析测试
1. 直接在浏览器测试
该请求为get请求,又无可疑参数,可直接复制到地址栏里进行访问,试一下。
果然可以,那么再试试直接换个手机号。
多刷新几次页面。
这时候返回了别的参数,再次更改手机号。
发现又返回了success,可以判断出,他们做了单手机号频率限制。
2. 用代码进行测试
利用Java模拟报文请求 ,进行测试。部分代码如下:
//配置请求头
public Object setHeads(CloseableHttpClient httpclient, CookieStore cookieStore, Hashtable<String, String> inheads, LinkedHashMap<String, String> outheads, Hashtable<String, String><