– “隐患险于明火,防范胜于救灾,责任重于泰山”

安全问题不容忽视,不要亡羊补牢!

  • 前言
  • 一丶找到对外短信接口
  • 二丶分析外部防御措施
  • 三丶分析测试
    • 1. 分析测试要点
    • 2. 编写代码模拟操作进行测试
  • 五丶结果分析
  • 六丶结语

前言

本文详细介绍了针对发送短信验证码接口的安全性测试过程,包含思路、部分测试代码已经测试结果。
本次测试网站 —小米(xiaomi.com)
小米是一家以手机、智能硬件和IoT平台为核心的互联网公司,以智能手机、智能电视、笔记本等丰富的产品与服务。

一丶找到对外短信接口

从该网站注册入口可以发现,也是通过发送手机短信验证码来完成注册。

二丶分析外部防御措施

  1. 输入手机号并点击获取验证码

这里需要先拖动滑块完成滑动拼图验证码,完成后才可发送

外部防御措施:滑动验证码

三丶分析测试

1. 分析测试要点

  • 通过模拟器模拟人为操作
  • 识别滑动验证码

2. 编写代码模拟操作进行测试

该网站的滑动验证码为极验滑动验证码:

识别方法:图像识别算法,找到阴影位置。

大致思路:

  • 将图片通过降噪,二值化等方式处理
  • 在通过模板匹配算法找到阴影位置。

这里不做赘诉,感兴趣可以看下相关验证码识别的文章:

《极验滑动拼图验证码》

接着进行测试。部分代码如下:

// 输入手机号By phoneBy = By.name("phone");GeetSplitApi.waitForLoad(driver, phoneBy);WebElement phoneElemet = driver.findElement(phoneBy);phoneElemet.clear();for (int i = 0; i < phone.length(); i++) {char c = phone.charAt(i);phoneElemet.sendKeys(c + "");phoneElemet.click();}Thread.sleep(1 * 1000);
// 点击发送By clickBy = By.className("ant-btn-link");GeetSplitApi.waitForLoad(driver, clickBy);WebElement clickElemet = driver.findElement(clickBy);clickElemet.click();Thread.sleep(3 * 1000);// 下面的js代码根据canvas文档说明而来// 完整背景图geetest_canvas_fullbg geetest_fade geetest_absoluteString fullImgJs = "return document.getElementsByClassName(\"geetest_canvas_fullbg geetest_fade geetest_absolute\")[0].toDataURL(\"image/png\");";String fullImgPath = GeetCanvasApi.getImgByJs(driver, fullImgJs, input);// 含有缺口背景图geetest_canvas_bg geetest_absoluteString bgImgJs = "return document.getElementsByClassName(\"geetest_canvas_bg geetest_absolute\")[0].toDataURL(\"image/png\");";String bgImgPath = GeetCanvasApi.getImgByJs(driver, bgImgJs, input);// 获取滑动按钮By moveBy = By.className("geetest_slider_button");GeetSplitApi.waitForLoad(driver, moveBy);WebElement moveElemet = driver.findElement(moveBy);

启动测试:

五丶结果分析

测试目标:

针对发送短信验证码接口进行安全性测试。

测试思路:

1.找到请求接口
2.分析防御机制
3.测试绕过方法

测试结果:

通过

测试结论:

前台通过滑动验证码进行限制,后台手机号和Ip均无频率限制或次数限制,当遇到大量手机号以及IP的攻击时,该网站的所有防御措施均无效。

风险等级: 中高

六丶结语

很多人在短信服务刚开始建设的阶段,可能不会在安全方面考虑太多,理由有很多。
比如:“ 需求这么赶,当然是先实现功能啊 ”,“ 业务量很小啦,系统就这么点人用,不怕的 ” , “ 我们怎么会被盯上呢,不可能的 ”等等。

有一些理由虽然有道理,但是该来的总是会来的。前期欠下来的债,总是要还的。越早还,问题就越小,损失就越低。

所以大家在安全方面还是要重视。(血淋淋的栗子!)#安全短信#

戳这里→康康你手机号在过多少网站注册过!!!

谷歌图形验证码在AI 面前已经形同虚设,所以谷歌宣布退出验证码服务, 那么当所有的图形验证码都被破解时,大家又该如何做好防御呢?

>>相关阅读
《腾讯防水墙滑动拼图验证码》
《百度旋转图片验证码》
《网易易盾滑动拼图验证码》
《顶象区域面积点选验证码》
《顶象滑动拼图验证码》
《极验滑动拼图验证码》
《使用深度学习来破解 captcha 验证码》
《验证码终结者-基于CNN+BLSTM+CTC的训练部署套件》

安全测试 : 小米(xiaomi.com)网站短信接口安全测试,如何保护短信接口?相关推荐

  1. 安全测试 : 途牛旅游网(tuniu.com)网站短信接口安全测试,什么是短信轰炸,什么是短信防刷,CICi .

    – "隐患险于明火,防范胜于救灾,责任重于泰山" 安全问题不容忽视,不要亡羊补牢! 前言 一丶找到对外短信接口 二丶分析外部防御措施 三丶查看请求报文 四丶分析测试 1. 分析测试 ...

  2. 安全测试 : 潮点视频(shipin520.com)网站短信接口安全测试,你的网站安全吗?这一漏洞可能让你瞬间损失过万。

    – "隐患险于明火,防范胜于救灾,责任重于泰山" 安全问题不容忽视,不要亡羊补牢! 前言 一丶找到对外短信接口 二丶分析外部防御措施 三丶查看请求报文 四丶分析测试 1. 分析测试 ...

  3. 听云短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试

    – "隐患险于明火,防范胜于救灾,责任重于泰山" 安全问题不容忽视,不要亡羊补牢! 前言 一丶找到对外短信接口 二丶分析外部防御措施 三丶查看请求报文 四丶分析测试 1. 直接在浏 ...

  4. php网站短信接口接入核心代码—动力思维乐信

    php网站短信接口接入步骤: ①首先需要注册动力思维乐信短信接口平台账号,注册地址:(http://www.lx598.com/acc/x5?i=110792),注册免费送100条测试短信: ②登录接 ...

  5. 安全测试:孔夫子旧书网短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试

    – "隐患险于明火,防范胜于救灾,责任重于泰山" 安全问题不容忽视,不要亡羊补牢! 前言 一丶找到对外短信接口 二丶分析外部防御措施 三丶查看请求报文 四丶分析测试 1. 分析测试 ...

  6. android手机不能发短信,小米4手机收短信正常但无法发送短信怎么办?

    小编的手机最近突然出现了这样一个问题,什么也没动,突然就无法发送短信了,而状况是一切都正常,收短信也正常,只是发不出去.后来去网上查询,原来很多网友都和小编遇到同样的问题,经过一番折腾,终于找到了解决 ...

  7. php短信接口调用网站,PHP网站短信接口函数示例

    PHP网站短信接口函数示例 发布时间:2011-02-14来源:九天企信王作者:过竹雨 php调用sms9短信接口的函数: function sendsms($mobile,$content) { $ ...

  8. 实现网站短信验证功能

    短信验证码现在已经成为了网站的标配,网站的用户注册.安全登录.密码找回等都会用到短信验证码,那么网站如何开通短信验证码功能呢?有一些站长不怎么了解,在此乐信小编就来为大家介绍一下. 实现网站短信验证功 ...

  9. 玩3D游戏花屏显卡测试过没有问题?网站测试咋测才能减少Bug

    在上一篇文章中,小编为您详细介绍了关于<如何更改显卡的刷新频率?台式电脑64位 显卡N卡 GTX680 用驱动精灵更新 过后 屏幕分辨率只有800X60070>相关知识.本篇中小编将再为您 ...

最新文章

  1. 学计算机哪家强?清华竟是2018全球第1!(附排名)
  2. HTTP请求状态码404相关问题解决
  3. TypeScript 使用 字典 Dictionary
  4. love2d教程3--输入和音乐
  5. android 生命周期 Activity/Fragment lifecycle
  6. go语言for循环中修改临时变量无效
  7. java foreach和for循环区别_java相关:老生常谈foreach(增强for循环)和for的区别
  8. GetManifestResourceStream得到的Stream是null的解决
  9. 表空间自动报警存储过程
  10. tensorflow对应的numpy版本_版本更新 | TensorFlow 2.4.0 候选版本发布
  11. 软件天才都是训练出来的
  12. iphone捷径未能连接服务器,ios13无法安装第三方捷径怎么办 不允许不受信任的快捷指令解决方法...
  13. 计算机格式化没有fat32,无需格式化 U盘FAT32转NTFS格式教程
  14. 怎么把腾讯视频qlv格式转成mp4格式
  15. 初学Java简易自助饮品消费系统项目实践
  16. idea2018激活方式
  17. YDOOK: STM32: 波特率的定义 波特率计算 波特率是什么?
  18. 2016鄂教版小学信息技术初识计算机软件,鄂教版(2016)五年级全册信息技术 25.揭秘计算机工作世界--初识计算机工作原理 教案...
  19. 2023北京联合大学计算机考研信息汇总
  20. 工具条研究手记(2) - 认识CToolBar工具条类

热门文章

  1. 基于java的银行账目管理系统-计算机毕业设计
  2. JavaScript 字符串true或false转换为Boolean类型数据
  3. Pycharm使用anaconda环境 (原环境 base)
  4. Facebook广告投放技巧
  5. Linux黑科技与用户及组管理
  6. 程序员常说的API是什么意思?API类型有什么呢?
  7. 电脑锁屏设置的方法,直接在系统设置里完成
  8. mysql的一些性能数据
  9. 主流电商平台API接口大全
  10. CSS3 文字边框 -webkit-text-stroke 镂空的字体制作