当前位置: 首页 > news >正文

手机网站开发软件便民工具 网站开发

手机网站开发软件,便民工具 网站开发,网站专题方案,域名网站开发有意义吗前言 由于网站注册入口容易被黑客攻击#xff0c;存在如下安全问题#xff1a; 暴力破解密码#xff0c;造成用户信息泄露短信盗刷的安全问题#xff0c;影响业务及导致用户投诉带来经济损失#xff0c;尤其是后付费客户#xff0c;风险巨大#xff0c;造成亏损无底洞…前言 由于网站注册入口容易被黑客攻击存在如下安全问题 暴力破解密码造成用户信息泄露短信盗刷的安全问题影响业务及导致用户投诉带来经济损失尤其是后付费客户风险巨大造成亏损无底洞 所以大部分网站及App 都采取图形验证码或滑动验证码等交互解决方案 但在机器学习能力提高的当下连百度这样的大厂都遭受攻击导致点名批评 图形验证及交互验证方式的安全性到底如何 请看具体分析 一、 知网CNKI PC 注册入口 简介CNKI介绍国家知识基础设施National Knowledge InfrastructureNKI的概念由世界银行《1998年度世界发展报告》提出。1999年3月以全面打通知识生产、传播、扩散与利用各环节信息通道打造支持全国各行业知识创新、学习和应用的交流合作平台为总目标中国知网CNKI启动了中国知识基础设施工程China National Knowledge InfrastructureCNKI得到了全国学术界、教育界、出版界、图书情报界的大力支持和密切配合。 二、 安全性分析报告 知网CNKI采用的是阿里的滑动条 阿里的滑动条设计高度重视用户体验但安全方面存在一定的设计缺陷前端将密钥显示出来造成一定程度的安全漏洞,上报后并未引起重视漏洞依据存在。 三、 测试方法 前端界面分析这是阿里的滑动条网上有一些的教学视频但形式都差不多 阿里的滑动条有点像程咬金的三板斧 1 检测是否是 webdriver 有专门的文章怎么过检 2 滑动条检测 滑动条在页面嵌JS 就能过去 script(function () {use strict;/*** 休眠* [urlhome.php?modspaceuid952169]Param[/url] time 休眠时间单位秒* param desc* returns {Promiseunknown}*/function sleep(time, desc) {return new Promise(resolve {//sleepsetTimeout(() {console.log(desc, time, s)resolve(time)}, Math.floor(time * 1000))})}/*** 监测节点是否存在* param selector CSS选择器* param desc* returns {Promiseunknown}*/function obsHas(selector, desc) {return new Promise(resolve {//obs nodelet timer setInterval(() {let target document.querySelector(selector)if (!!target) {clearInterval(timer)console.log(desc, selector)resolve(selector)} else {return}}, 100)})}function slide(id) {var slider document.getElementById(id),container slider.parentNode;var rect slider.getBoundingClientRect(),x0 rect.x || rect.left,y0 rect.y || rect.top,w container.getBoundingClientRect().width,x1 x0 w,y1 y0;var mousedown document.createEvent(MouseEvents);mousedown.initMouseEvent(mousedown, true, true, window, 0,x0, y0, x0, y0, false, false, false, false, 0, null);slider.dispatchEvent(mousedown);var mousemove document.createEvent(MouseEvents);mousemove.initMouseEvent(mousemove, true, true, window, 0,x1, y1, x1, y1, false, false, false, false, 0, null);slider.dispatchEvent(mousemove);}sleep(1,sleep).then(() obsHas(.nc_wrapper,has)).then(() slide(nc_1_n1z)) })();/script 1. 模拟器交互 private static String INDEX_URL https://my.cnki.net/Register/CommonRegister.aspx;Overridepublic RetEntity send(WebDriver driver, String areaCode, String phone) {RetEntity retEntity new RetEntity();try {driver.get(INDEX_URL); // 输入手机号By phoneBy By.id(txtMobile);WebElement phoneElemet ChromeDriverManager.waitElement(driver, phoneBy, 10);phoneElemet.sendKeys(phone);Thread.sleep(1 * 1000);AliClient.moveExec(driver, nc_2_n1z, 300);// 点击发送短信WebElement sendElemet driver.findElement(By.id(smsbtn));sendElemet.click();boolean isAlert ChromeDriverManager.isAlertPresent(driver);if (isAlert) {driver.switchTo().defaultContent();Thread.sleep(1000);}Thread.sleep(1000);String gtInfo driver.findElement(By.id(spansms_code)).getText();retEntity.setMsg(gtInfo);if (gtInfo.contains(验证码已发送)) {retEntity.setRet(0);} else {retEntity.setRet(-1);System.out.println(gtInfo gtInfo);}return retEntity;} catch (Exception e) {System.out.println(e.toString());return null;}} 2. 模拟鼠标移动 public static boolean moveExec(WebDriver driver, String moveId, int distance) {try {// 获取滑动按钮WebElement moveElemet ChromeDriverManager.waitElement(driver, By.id(moveId), 100);Actions actions new Actions(driver);actions.moveToElement(moveElemet).perform();Thread.sleep(500);ListInteger trackList ActionMove.getTrack(distance);actions.clickAndHold(moveElemet).perform();// 按住鼠标左键不释放for (Integer moveInt : trackList) {actions.moveByOffset(moveInt, 0).perform();// 移动}actions.release(moveElemet).perform();// 释放鼠标左键// 滑动结果By langCntBy By.className(nc-lang-cnt);WebElement langCntElemet ChromeDriverManager.waitElement(driver, langCntBy, 50);String langCntInfo (langCntElemet ! null) ? langCntElemet.getText() : null;if (langCntInfo ! null langCntInfo.contains(验证通过)) {return true;} else {System.out.println(AliUtil.moveExec() langCntInfo langCntInfo);return false;}} catch (Exception e) {System.out.println(AliClient.moveExec() e e.toString());return false;}} 3. 轨迹生成单轴通过 /*** 根据距离获取滑动轨迹* * param distance需要移动的距离* return*/public static ListInteger getTrack(int distance) {ListInteger track new ArrayListInteger();// 移动轨迹ListInteger[] list getXyTrack(distance);for (Integer[] m : list) {track.add(m[0]);}return track;}/*** 双轴轨道生成算法主要实现平滑加速和减速* * param distance* return*/public static ListInteger[] getXyTrack(int distance) {ListInteger[] track new ArrayListInteger[]();// 移动轨迹try {int a (int) (distance / 3.0) random.nextInt(10);int h 0, current 0;// 已经移动的距离BigDecimal midRate new BigDecimal(0.7 (random.nextInt(10) / 100.00)).setScale(4, BigDecimal.ROUND_HALF_UP);BigDecimal mid new BigDecimal(distance).multiply(midRate).setScale(0, BigDecimal.ROUND_HALF_UP);// 减速阈值BigDecimal move null;// 每次循环移动的距离ListInteger[] subList new ArrayListInteger[]();// 移动轨迹boolean plus true;Double t 0.18, v 0.00, v0;while (current distance) {h random.nextInt(2);if (current distance / 2) {h h * -1;}v0 v;v v0 a * t;move new BigDecimal(v0 * t 1 / 2 * a * t * t).setScale(4, BigDecimal.ROUND_HALF_UP);// 加速if (move.intValue() 1)move new BigDecimal(1L);if (plus) {track.add(new Integer[] { move.intValue(), h });} else {subList.add(0, new Integer[] { move.intValue(), h });}current move.intValue();if (plus current mid.intValue()) {plus false;move new BigDecimal(0L);v 0.00;}}track.addAll(subList);int bk current - distance;if (bk 0) {for (int i 0; i bk; i) {track.add(new Integer[] { -1, h });}}System.out.println(getMoveTrack( midRate ) a a ,distance distance - mid mid.intValue() size track.size());return track;} catch (Exception e) {System.out.print(e.toString());return null;}} 4. 测试返回结果 四丶结语 知网作为全国学术界、教育界、出版界、图书情报界的共享平台打造是国家基础设施由于收费过高导致很多单位苦知网已经名符其实的垄断行业赚的盆满钵满的 按理技术实力雄厚但在验证产品方面不是自己研发而是采用第三方的阿里的滑动条 阿里的产品由于过度重视用户体验 简单的滑动条特别模拟器只需要单轴的模拟轨道就可以通过 说明阿里对轨迹的校验比较宽松之前的分析显示阿里主要是靠模拟器识别如果这道关过了就没有其它的防护措施了 。 很多人在短信服务刚开始建设的阶段可能不会在安全方面考虑太多理由有很多。 比如“ 需求这么赶当然是先实现功能啊 ”“ 业务量很小啦系统就这么点人用不怕的 ” “ 我们怎么会被盯上呢不可能的 ”等等。 有一些理由虽然有道理但是该来的总是会来的。前期欠下来的债总是要还的。越早还问题就越小损失就越低。 所以大家在安全方面还是要重视。血淋淋的栗子#安全短信# 戳这里→康康你手机号在过多少网站注册过 谷歌图形验证码在AI 面前已经形同虚设所以谷歌宣布退出验证码服务 那么当所有的图形验证码都被破解时大家又该如何做好防御呢 相关阅读 《腾讯防水墙滑动拼图验证码》 《百度旋转图片验证码》 《网易易盾滑动拼图验证码》 《顶象区域面积点选验证码》 《顶象滑动拼图验证码》 《极验滑动拼图验证码》 《使用深度学习来破解 captcha 验证码》 《验证码终结者-基于CNNBLSTMCTC的训练部署套件》
http://www.w-s-a.com/news/32785/

相关文章:

  • 怎么做自己的个人网站宝安网站设计哪家最好
  • 浩博建设集团网站站长网站统计
  • 电商网站开发视频seo排名优化方式方法
  • 宿迁市住房城乡建设局网站wordpress纯图片主题
  • 广州建设网站 公司湖北省建设信息网官网
  • 网站建立时间查询做百度移动网站优化排
  • 网站建设和运行费用qq恢复官方网站
  • 可以免费建立网站吗免费的网络营销方式
  • 天津企业设计网站建设wordpress标题字体大小
  • 上高县城乡规划建设局网站创业项目
  • 钓鱼网站在线下载广州网站设计哪里好
  • 做阿里国际网站会有成效吗wordpress微博同步
  • 西安网站建设云速网络网站运营情况怎么写
  • 免费建网站的网站微信商城分销系统方案
  • 烟台网站seo服务友情链接有哪些展现形式
  • 什么是移动网站开发免费网站开发框架
  • 做网站 创业wordpress子菜单
  • 门户网站类型有哪些权重7以上的网站
  • 政务网站建设论文android app开发教程
  • 网站开发实训h5总结个人网站注册平台要多少钱
  • 空白网站建设wordpress高亮代码过长
  • 盐城 网站开发什么叫做门户网站
  • 广东快速做网站公司哪家好本地建wordpress
  • dedecms如何做网站贵阳seo计费管理
  • 企业网站设计一般多少钱呼和浩特最好的互联网公司
  • 黄浦专业做网站海南网站策划
  • 网站开发工程师有证书考试吗织梦cms是免费的吗
  • 电子商务网站建设需要学什么门户网站推广介绍方案
  • 网站里的专题页面wordpress查询数据库结构
  • WordPress子站站群网站建设代码生成器