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

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

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

前言

本文详细介绍了针对发送短信验证码接口的安全性测试过程,包含思路、部分测试代码已经测试结果。
本次测试网站 —途牛旅游网(tuniu.com)
途牛旅游网是一家提供旅行服务的网站。

一丶找到对外短信接口

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

二丶分析外部防御措施

  1. 输入手机号

需要先输入图片验证码,输入后才可点击发送

  1. 输入并点击发送验证码

外部防御措施:图片验证码

三丶查看请求报文

1. 找到发送短信的请求

按下F12打开浏览器控制台,再次点击发送验证码按钮通过控制台找出发送短信的请求。

2. 查看请求方式

3. 查看请求报文头

4. 查看请求参数

identify_code为图片验证码的值
5. 查看返回值

四丶分析测试

1. 分析测试要点

  • 请求须携带图形验证码参数
  • 请求为post请求

2. 编写代码模拟请求进行测试

该网站的图形验证码为普通的数字加字母的验证码:

解决方案:通过机器学习,图像处理等方法创建识别库。

大致思路:

  • 处理图片,将图片通过降噪,二值化等方式处理
  • 将字符分割,学习训练
  • 最终识别出图片中的各个字符

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

《使用深度学习来破解 captcha 验证码》
《验证码终结者-基于CNN+BLSTM+CTC的训练部署套件》

接着利用Java模拟报文请求 ,进行测试。部分代码如下:

//配置请求头inheads.put("Accept", "*/*");inheads.put("X-Requested-With", "XMLHttpRequest");inheads.put("Referer", "https://passport.tuniu.com/register?origin=http://www.tuniu.com/ssoConnect");getCookie(cookieStore, httpclient, "https://passport.tuniu.com/register?origin=http://www.tuniu.com/ssoConnect", inheads, outheads);String cookieStr = GetCookieHead.CookieHashToString(outheads);if (cookieStr != null) {inheads.put("Cookie", cookieStr);}
//配置请求参数
List<BasicNameValuePair> paramsList = new ArrayList<BasicNameValuePair>();paramsList.add(new BasicNameValuePair("tel", phone));paramsList.add(new BasicNameValuePair("identify_code", input.get("imgCode")));paramsList.add(new BasicNameValuePair("intlCode", "0086"));paramsList.add(new BasicNameValuePair("isReg", "1"));
//配置请求String imgCode = this.getImgeCode(phone, httpclient, cookieStore, "get", imgUrl, inheads, outheads, input, outMap);input.put("imgCode", imgCode != null ? imgCode : "");retEntity = this.userClick(httpclient, cookieStore, "post", smsUrl, inheads, outheads, input, phone);

启动测试:

1次:

手机号码唯一,IP唯一:

10次 --间隔时间1秒:

手机号码不唯一,IP唯一:

10次 --间隔时间1秒:

五丶结果分析

测试目标:

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

测试思路:

1.找到请求接口
2.分析请求报文
3.模拟请求测试

测试结果:

除图形验证码之外,无限制

测试结论:

前台通过图形验证码进行限制,当遇到打码更换手机号以及IP的攻击时,该网站的所有防御措施均无效。

风险等级: 高

六丶结语

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

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

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

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

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

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

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

  1. 贝壳采集器:途牛旅游网 信息采集

    途牛旅游网 本文就介绍了如何使用贝壳采集器采集 途牛旅游网 这个网站的基本操作步骤. 一.插件安装 1.首先去贝壳采集器官网(http://www.728data.com/zh-cn/advanced ...

  2. 在线旅游服务商途牛旅游网

    在线旅游服务商途牛旅游网获得戈壁首轮风投 http://www.sina.com.cn   2009年03月30日 09:37   ChinaVenture ChinaVenture北京时间3月30日 ...

  3. 2022春招前端最新面试题分享(途牛旅游网)

    途牛旅游网 公司及岗位信息 公司: 途牛旅游网 岗位: 前端校招 地点: 南京 薪资: 16k 14薪 面试结果: 通过 一面(2022/04/26) 自我介绍 介绍一下实习做过的项目, 难点, 收获 ...

  4. 削履适足-途牛旅游网敏捷开发流程再造

    削履适足-途牛旅游网敏捷开发流程再造 在互联网以"时新日异"快速发展的大背景下,更轻流程的敏捷开发成为了很多互联网开发团队的不二选择.然而,由于互联网区别于传统软件的反馈速度,使得 ...

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

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

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

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

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

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

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

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

  9. Python学习笔记(9)采集图片网址并下载图片——以途牛旅游网为例

    一.操作步骤 爬虫不仅能抓到网页上的文本.网址数据,还可以批量下载图片到电脑中.无论是列表页还是详情页上的图片,只要能获取图片网址都可以用爬虫来下载图片.下面就以途牛网的自助游网页为案例,操作步骤如下 ...

最新文章

  1. 做了个第三方NTFS软RAID
  2. 神经网络防止过拟合的方法
  3. html+js浏览器检测
  4. 笔趣看小说全部章节爬取实战
  5. 从微服务到 Serverless | 开源只是开始,终态远没有到来
  6. 18-Flutter移动电商实战-首页_火爆专区商品接口制作
  7. 计算机控制常用数据通信标准,计算机控制数据通信基础要点.ppt
  8. KVM虚拟机搭建增量镜像(一个基本镜像拷贝成无数多个子镜像)
  9. Java 类主动引用和被动引用
  10. asio 组播包ssdp
  11. oracle用户的追踪文件,Oracle中怎样通过触发器来追踪用户的活动?
  12. 重装系统后,腾讯TM2013 “应用程序无法启动,因为程序的并行配置不正确
  13. Silverlight 里获取摄像头视频
  14. 如何在中实现++中的splitterwnd的四分裂视图功能
  15. c语言中cnt用法,如何使用PLC计数器(CNT)指令
  16. python模拟银行取号叫号系统
  17. 李克平教授讲座——《城市道路交叉口规划规范》解读与绿灯间隔(整理文本)...
  18. python pytz下载_使用 pytz 处理 Python 中的时区问题
  19. markdown基础语法
  20. Boost编译一步步来

热门文章

  1. 一、JAVA调用海康威视SDK实现摄像头预览
  2. 我对古代名篇《庄子·养生主》的理解
  3. t12电烙铁c语言程序,T12电烙铁制做分享过程1
  4. webpack中利用【require.ensure()】和【import()】实现按需加载
  5. 点击“我不是机器人”后,网站到底怎么知道你真的是人?
  6. 前端实现图片转base64(自测可用)
  7. gui-gio:计数器的demo1
  8. k30s刷鸿蒙系统,最好的LCD屏手机!Redmi K30S至尊纪念版今天发布:144Hz高刷、7档变速...
  9. 深入浅出消息队列---5、RabbitMQ公平性保证
  10. Dism方式离线安装windows更新