听云短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试
– “隐患险于明火,防范胜于救灾,责任重于泰山”
安全问题不容忽视,不要亡羊补牢!
- 前言
- 一丶找到对外短信接口
- 二丶分析外部防御措施
- 三丶查看请求报文
- 四丶分析测试
- 1. 直接在浏览器测试
- 2. 用代码进行测试
- 五丶结果分析
- 六丶结语
前言
本文详细介绍了针对发送短信验证码接口的安全性测试过程,包含思路、部分测试代码已经测试结果。
本次测试网站 —听云(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> input) {inheads.put("Accept", "application/json, text/plain, */*");inheads.put("Cache-Control", "no-cache");inheads.put("Connection", "keep-alive");inheads.put("Host", "account.tingyun.com");inheads.put("Pragma", "no-cache");inheads.put("Referer", "https://account.tingyun.com/reg/register?userFrom=tingyun");inheads.put("Sec-Fetch-Mode", "cors");inheads.put("Sec-Fetch-Site", "same-origin");inheads.put("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36");inheads.put("X-Tingyun-Id", "V1uX-VqWBw4;r=624124609");getCookie(cookieStore, httpclient, "https://account.tingyun.com/reg/register?userFrom=tingyun", inheads, outheads);String cookieStr = GetCookieHead.CookieHashToString(outheads);if (cookieStr != null) {inheads.put("Cookie", cookieStr);}return inheads;}
//配置请求参数
public Object setParams(CloseableHttpClient httpclient, CookieStore cookieStore, Hashtable<String, String> inheads, LinkedHashMap<String, String> outheads, Hashtable<String, String> input, String phone) {List<BasicNameValuePair> paramList = new ArrayList<>();paramList.add(new BasicNameValuePair("ctime", new SimpleDateFormat("'\"'yyyy-MM-dd'T'HH:mm:ss.SSS'Z\"'").format(System.currentTimeMillis())));paramList.add(new BasicNameValuePair("mobile", phone));paramList.add(new BasicNameValuePair("type", "registerNew"));paramList.add(new BasicNameValuePair("webc", "regweb"));return paramList;}
//配置请求
public RetEntity reg(CloseableHttpClient httpclient, CookieStore cookieStore, Hashtable<String, String> input, String phone) {Hashtable<String, String> inheads = new Hashtable<>();LinkedHashMap<String, String> outheads = new LinkedHashMap<>();httpclient = createSSLClientDefault();RetEntity retEntity = this.userClick(httpclient, cookieStore, "get", "https://account.tingyun.com/reg/ldaf_send_mobile_new283455", inheads, outheads, input, phone);closeHttpClient(httpclient);return retEntity;}
启动测试:
1-40次:{"status":"Sucess"}
>40次:{"status":"randomCountError"}
猜测可能是Ip限制,更换ip后再次测试。
结果为:{"status":"Sucess"}
五丶结果分析
测试目标:
针对发送短信验证码接口进行安全性测试。
测试思路:
1.找到请求接口
2.分析请求报文
3.模拟请求测试
测试结果:
1.单手机号频率限制(3次/分钟)
2.单IP次数限制(50次/天)
测试结论:
单做了手机号频率以及IP次数限制,当遇到大量更换手机号以及IP的攻击时,该网站的所有防御措施均无效。
风险等级: 高
六丶结语
很多人在短信服务刚开始建设的阶段,可能不会在安全方面考虑太多,理由有很多。
比如:“ 需求这么赶,当然是先实现功能啊 ”,“ 业务量很小啦,系统就这么点人用,不怕的 ” , “ 我们怎么会被盯上呢,不可能的 ”等等。有一些理由虽然有道理,但是该来的总是会来的。前期欠下来的债,总是要还的。越早还,问题就越小,损失就越低。
所以大家在安全方面还是要重视。(血淋淋的栗子!)#安全短信#
听云短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试相关推荐
- 我们公司的短信接口被刷了,瞬间损失两万,怎么解决?(短信接口被盗刷系列1)
1 我们公司的短信接口被刷了,瞬间损失两万 前两天的中午像往常一样热,太阳不知疲倦的在天空燃烧,热跑了云彩和鸟儿,马上就要点燃空气和我的脑神经.为我和电脑降温的,是我简陋的书桌上的小电扇,没有它的话, ...
- 短信接口被恶意调用,瞬间损失两万,怎么解决?
1 我们公司的短信接口被恶意调用,瞬间损失两万 前两天的中午像往常一样热,太阳不知疲倦的在天空燃烧,热跑了云彩和鸟儿,马上就要点燃空气和我的脑神经.为我和电脑降温的,是我简陋的书桌上的小电扇,没有它的 ...
- 安全测试:孔夫子旧书网短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试
– "隐患险于明火,防范胜于救灾,责任重于泰山" 安全问题不容忽视,不要亡羊补牢! 前言 一丶找到对外短信接口 二丶分析外部防御措施 三丶查看请求报文 四丶分析测试 1. 分析测试 ...
- 安全测试 : 潮点视频(shipin520.com)网站短信接口安全测试,你的网站安全吗?这一漏洞可能让你瞬间损失过万。
– "隐患险于明火,防范胜于救灾,责任重于泰山" 安全问题不容忽视,不要亡羊补牢! 前言 一丶找到对外短信接口 二丶分析外部防御措施 三丶查看请求报文 四丶分析测试 1. 分析测试 ...
- 阿里云 短信服务——开启验证码防盗刷监控
阿里云 短信服务--短信发送频率限制 前言 系列博客 开启验证码防盗刷监控 操作步骤 添加联系人 补充(发送总量阈值和套餐包预警值) 如果博主的文章对您有所帮助,可以评论.点赞.收藏,支持一下博主!! ...
- 听云CTO访谈:解读现代应用性能管理(APM)技术
随着互联网的发展,越来越多的IT企业和部门开始越来越重视应用性能管理.听云在该领域耕耘多年,并于前段时间发布了<2014中国移动应用性能管理白皮书>,对国内移动应用的性能问题进行了总结.I ...
- PHP APM 对比评测:OneAPM, New Relic, 听云
原文 http://my.oschina.net/phpfans15/blog/394888 感谢 @penguinz 的推荐,又发现了一家提供应用性能管理服务的国内厂商:"听云" ...
- 听云数据库管理平台NetopGO简介
➠更多技术干货请戳:听云博客 断断续续写了将近一个月,听云第一版数据库管理平台终于写完了,期间来来回回的改了好多次小毛病,现在已经部署到生产环境上去了. 在刚开始的时候,后端的数据库集群只有10多个节 ...
- 听云server探针安装历程
我的服务器:阿里云CentOS 6.5 64位,环境是php+nginx+apache -------------------------------------------------------- ...
最新文章
- 如何強迫 .Net 應用程式輸出英文的例外訊息
- python是c语言写的吗-python是用c写的吗
- 基于区块链的健康链系统设计与实现(2)区块链平台Web服务器
- Java实现读取服务器上的图片并进行base64编码
- python中字典数据的特点_Python数据类型(字典)
- 【软件】OBS无法捕捉显示屏
- centos免密登录
- 生成器模式(Builder)
- 暮光之城3蓝光BD高清下载
- OpenGL是什么?Win10+VS2019下搭建glfw+glad开发环境
- python下载网页中的pdf文件_Python下载PDF嵌入页面
- 国土档案管理信息系统【档案查借阅登记】
- 快捷键,总结一些实用高效的快捷键
- python grpc基于流式传输实现长连接
- Excel怎么制作三斜线表头
- linux安装程序企鹅,分享|Linux/Unix 桌面趣事:召唤一群企鹅在桌面上行走
- Spring系列学习之Spring Data Elasticsearch数据访问
- 前端导出excel 表格数据1w条数据以上-批量导出
- 这40个冷知识,据说只有1%的人知道……颠覆你的认知!
- python爬虫可视化excel_Python爬虫以及数据可视化分析!