【去哪儿-注册安全分析报告-缺少轨迹的滑动条】

前言

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

1. 暴力破解密码,造成用户信息泄露

2. 短信盗刷的安全问题,影响业务及导致用户投诉

3. 带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞

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

一、 去哪儿PC 注册入口

简介:去哪儿(包含去哪儿旅行APP及去哪儿网Qunar.com)是中国领先的一站式旅行平台。去哪儿网站上线于2005年5月,2010年去哪儿旅行App面世。成立至今,去哪儿坚持以低价为核心竞争力,帮助更多用户解锁"人生第一张机票"。截至目前,去哪儿已拥有超两亿交易用户,并以年新增交易用户逾千万的规模持续增长。

去哪儿与全球超过100家航空公司、9000家旅行代理商达成了深度合作,为用户提供更低的价格、更全的覆盖以及更好的服务。截至目前,可实时搜索预定全球范围内超68万条航线机票、320万家境内外酒店、100多个国家及地区的签证服务、100万条度假线路、近2万个全球目的地景区门票等,支持火车票7*24小时无间断出票,并提供租车、接送机等地面交通服务。


二、 安全性分析报告:

去哪儿研发的滑动条,存在一定的设计缺陷,缺少滑动条最重要的参数滑动轨迹的采集。

三、 测试方法:

前端界面分析,这是去哪儿自己研发的滑动条,网上没有现成的教学视频,但形式都差不多,连滑动轨迹都没采集的滑动条:

1 模拟器交互部分代码

bash 复制代码
private static String INDEX_URL = "https://user.qunar.com/passport/register.jsp";
	private final static Logger logger = LoggerFactory.getLogger(Qunar.class);

	@Override
	public RetEntity send(WebDriver driver, String areaCode, String phone) {
		try {
			RetEntity retEntity = new RetEntity();
			driver.get(INDEX_URL);

			// 输入手机号
			WebElement phoneElement = driver.findElement(By.id("telphone"));
			phoneElement.clear();
			phoneElement.sendKeys(phone);

			// 获取验证码
			driver.findElement(By.className("codeButton")).click();
			Thread.sleep(1000);

			// 向右滑动滑块
			WebElement moveElement = driver.findElement(By.xpath("//div[@class='captchaContainer']/div/div/i"));
			ActionMove.move(driver, moveElement, 500);

			Thread.sleep(1000);
			WebElement msgElement = ChromeDriverManager.waitElement(driver, By.className("codeTime"), 10);
			String msg = (msgElement != null && msgElement.isDisplayed()) ? msgElement.getText() : null;
			retEntity.setMsg(msg);
			if (msg != null && msg.contains("重新获取")) {
				retEntity.setRet(0);
			}
			return retEntity;
		} catch (Exception e) {
			System.out.println("phone=" + phone + ",e=" + e.toString());
			for (StackTraceElement ele : e.getStackTrace()) {
				System.out.println(ele.toString());
			}
			return null;
		} finally {
			driver.manage().deleteAllCookies();
		}
	}

2 滑动轨迹

bash 复制代码
	/**
	 * 移动
	 * 
	 * @param driver
	 * @param moveElemet
	 * @param distance
	 * @throws InterruptedException
	 */

	public static void move(WebDriver driver, WebElement moveElemet, List<Integer> trackList) {
		Actions actions = new Actions(driver);
		actions.clickAndHold(moveElemet).perform();// 按住鼠标左键不释放
		for (Integer distance : trackList) {
			actions.moveByOffset(distance, 0).perform();// 移动
		}
		actions.release(moveElemet).perform();// 释放鼠标左键

	}

3 测试结果

四丶结语

去哪儿(包含去哪儿旅行APP及去哪儿网Qunar.com)是中国领先的一站式旅行平台。去哪儿网站上线于2005年5月,2010年去哪儿旅行App面世。成立至今,去哪儿坚持以低价为核心竞争力,帮助更多用户解锁"人生第一张机票"。截至目前,去哪儿已拥有超两亿交易用户,并以年新增交易用户逾千万的规模持续增长。作为航旅行业知名的在互联网线订票平台,拥有雄厚的技术研发实力,记得上次测试时用的是图形验证码,这回改进了, 采用的是自己研发的滑动条, 有胜过没,应该是参考了滑动条的代表是阿里, 可惜只学到表面,连滑动轨迹的数据都没采集,明明白白的样子工程, 用户体验一般,容易被破解, 一旦被国际黑客发起攻击,将会对老百姓形成骚扰,影响去哪儿网自己的品牌声誉。

很多人在短信服务刚开始建设的阶段,可能不会在安全方面考虑太多,理由有很多。

比如:" 需求这么赶,当然是先实现功能啊 "," 业务量很小啦,系统就这么点人用,不怕的 " , " 我们怎么会被盯上呢,不可能的 "等等。

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

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

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

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

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

相关推荐
黑客思维者13 分钟前
机器学习001:从“让机器学会思考”到生活中的智能魔法
人工智能·机器学习·生活
cike_y25 分钟前
JSP内置对象及作用域&双亲委派机制
java·前端·网络安全·jsp·安全开发
ayingmeizi16326 分钟前
电子及通信设备制造业CRM解决方案,AI赋能线索+商机+销售+服务,助力企业降本增效与价值升级
人工智能·crm·数智化
也许是_27 分钟前
大模型应用技术之 Spring AI 2.0 变更说明
java·人工智能·spring
黑客思维者38 分钟前
机器学习006:监督学习【回归算法】(概论)--教AI从历史中预测未来
人工智能·学习·机器学习·监督学习·回归算法
高洁0142 分钟前
DNN案例一步步构建深层神经网络(二)
人工智能·python·深度学习·算法·机器学习
qq_418247881 小时前
Linux上部署conda环境
linux·运维·神经网络·机器学习·conda
合方圆~小文1 小时前
4G定焦球机摄像头综合介绍产品指南
数据结构·数据库·人工智能
Coding茶水间1 小时前
基于深度学习的螺栓螺母检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉