企业网站推广方案设计,网页升级紧急通知在线,wordpress搭建企业网站,大连专业制作网站前言
由于网站注册入口容易被黑客攻击#xff0c;存在如下安全问题#xff1a;
暴力破解密码#xff0c;造成用户信息泄露短信盗刷的安全问题#xff0c;影响业务及导致用户投诉带来经济损失#xff0c;尤其是后付费客户#xff0c;风险巨大#xff0c;造成亏损无底洞…前言
由于网站注册入口容易被黑客攻击存在如下安全问题
暴力破解密码造成用户信息泄露短信盗刷的安全问题影响业务及导致用户投诉带来经济损失尤其是后付费客户风险巨大造成亏损无底洞 所以大部分网站及App 都采取图形验证码或滑动验证码等交互解决方案 但在机器学习能力提高的当下连百度这样的大厂都遭受攻击导致点名批评 图形验证及交互验证方式的安全性到底如何 请看具体分析
一、 专利信息服务平台PC 注册入口
简介专利信息服务平台是一个提供专利信息检索和分析服务的平台旨在帮助用户快速、准确地获取专利信息支持多种检索功能和数据分析工具。以下是几个主要的专利信息服务平台及其功能和服务
中国专利信息中心该中心是国家知识产权局批复的检索单位提供全面、专业的数据资源涵盖计算机、通信、机械、光电、化工、材料、生物医药等多个技术领域。服务内容包括查新检索、授权专利检索、专题检索和防侵权检索等1。此外中国专利信息中心还推出了“AI Pat专利检索分析系统”并成立了知识产权人工智能实验室致力于利用AI技术赋能各应用场景2。专利服务数据库该数据库提供中国专利包括发明、实用新型、外观设计等及国外专利如美国、日本、英国、德国等98个国家和组织的检索服务。检索功能包括中外专利混合检索、法律状态联合检索、IPC分类导航检索等还支持二次检索、过滤检索、同义词检索等辅助手段3。此外该平台还具备机器翻译功能能够即时翻译英文专利内容帮助用户更好地理解专利信息3。二丶 安全分析
采用传统的图形验证码方式具体为4个数字英文,ocr 识别率在 95% 以上。 测试方法 采用模拟器OCR识别
1. 模拟器交互
private OcrClientDddd ddddOcr new OcrClientDddd();private static String INDEX_URL http://search.cnipr.com/register.jsp;Overridepublic RetEntity send(WebDriver driver, String areaCode, String phone) {RetEntity retEntity new RetEntity();try {driver.get(INDEX_URL);Thread.sleep(1 * 1000);// 1 输入手机号WebElement phoneElement ChromeUtil.waitElement(driver, By.id(mobile), 1);phoneElement.sendKeys(phone);Thread.sleep(1 * 1000);// 2 获取图形验证码byte[] imgByte GetImage.callJsById(driver, safecode);int len (imgByte ! null) ? imgByte.length : 0;String imgCode (len 0) ? ddddOcr.getImgCode(imgByte) : null;if (imgCode null || imgCode.length() 1) {System.out.println(len len ,imgCode imgCode);return retEntity;}// 3 输入识别出来的图形验证码driver.findElement(By.id(validate_code)).sendKeys(imgCode);// 4 点击获取验证码Thread.sleep(1 * 1000);WebElement getCodeElement driver.findElement(By.id(getting));getCodeElement.click();StringBuffer alertSb new StringBuffer();boolean isAlert ChromeUtil.isAlertPresent(driver, alertSb);if (isAlert) {retEntity.setMsg(alertSb.toString());return retEntity;}Thread.sleep(1 * 1000);String gtInfo getCodeElement.getAttribute(value);retEntity.setMsg(gtInfo);if (gtInfo.contains(秒后可重新获取)) {retEntity.setRet(0);return retEntity;} 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. 获取图形验证码 public static byte[] callJsById(WebDriver driver, String id) {return callJsById(driver, id, null);}public static byte[] callJsById(WebDriver driver, String id, StringBuffer base64) {String js let c document.createElement(canvas);let ctx c.getContext(2d);;js let img document.getElementById( id ); /*找到图片*/ ;js c.heightimg.naturalHeight;c.widthimg.naturalWidth;;js ctx.drawImage(img, 0, 0,img.naturalWidth, img.naturalHeight);;js let base64String c.toDataURL();return base64String;;String src ((JavascriptExecutor) driver).executeScript(js).toString();String base64Str src.substring(src.indexOf(,) 1);if (base64 ! null) {base64.append(base64Str);}byte[] vBytes (base64Str ! null) ? imgStrToByte(base64Str) : null;return vBytes;}
3.图形验证码识别Ddddocr private static String INDEX_URL https://console.faceplusplus.com.cn/register;Overridepublic RetEntity send(WebDriver driver, String areaCode, String phone) {RetEntity retEntity new RetEntity();try {driver.get(INDEX_URL);Thread.sleep(1 * 1000);// 1 输入手机号WebElement phoneElemet driver.findElement(By.id(phone));phoneElemet.sendKeys(phone);// 点击发送验证码按钮Thread.sleep(500);WebElement sendElemet driver.findElement(By.xpath(//button/span[contains(text(),发送验证码)]));sendElemet.click();// 2 获取图形验证码WebElement imgElement, errElement, inputElement;String imgCode null;byte[] imgByte null;Thread.sleep(1 * 1000);for (int i 0; i 1; i) {imgElement driver.findElement(By.xpath(//img[contains(src,/api/official/captcha/get)]));String imgUrl imgElement.getAttribute(src);imgByte GetImage.callJsByUrl(driver, imgUrl);int len (imgByte ! null) ? imgByte.length : 0;imgCode (len 0) ? ddddOcr.getImgCode(imgByte) : null;if (imgCode null) {continue;}// 3 输入识别出来的图形验证码inputElement driver.findElement(By.id(code));inputElement.sendKeys(imgCode);ddddOcr.saveFile(this.getClass().getSimpleName(), imgCode, imgByte);// 4 确 认Thread.sleep(1 * 1000);// 点击智能按钮boolean isRobot false;int beginX 1540;int beginY 879;if (isRobot)RobotMove.click(beginX, beginY);else {WebElement confirmElement driver.findElement(By.xpath(//div[classant-modal-footer]/button/span));confirmElement.click();}}Thread.sleep(10 * 1000);WebElement msgElement ChromeDriverManager.waitElement(driver, By.xpath(//button/span[contains(text(),s)]), 20);String gtInfo (msgElement ! null msgElement.isDisplayed()) ? msgElement.getText() : null;retEntity.setMsg(imgCode - gtInfo);if (gtInfo ! null gtInfo.contains(秒)) {retEntity.setRet(0);return retEntity;}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();}}
4. 图形OCR识别结果 5. 测试返回结果
测试返回结果 测试报告 二丶结语
专利信息服务平台是一个提供专利信息检索和分析服务的平台旨在帮助用户快速、准确地获取专利信息支持多种检索功能和数据分析工具 作为中国最权威的专利管理机构 采用的还是老一代的图形验证码已经落伍了 用户体验一般容易被破解 一旦被国际黑客发起攻击将会对老百姓形成骚扰影响声誉。 很多人在短信服务刚开始建设的阶段可能不会在安全方面考虑太多理由有很多。 比如“ 需求这么赶当然是先实现功能啊 ”“ 业务量很小啦系统就这么点人用不怕的 ” “ 我们怎么会被盯上呢不可能的 ”等等。 有一些理由虽然有道理但是该来的总是会来的。前期欠下来的债总是要还的。越早还问题就越小损失就越低。 所以大家在安全方面还是要重视。血淋淋的栗子#安全短信# 戳这里→康康你手机号在过多少网站注册过
谷歌图形验证码在AI 面前已经形同虚设所以谷歌宣布退出验证码服务 那么当所有的图形验证码都被破解时大家又该如何做好防御呢
相关阅读 《腾讯防水墙滑动拼图验证码》 《百度旋转图片验证码》 《网易易盾滑动拼图验证码》 《顶象区域面积点选验证码》 《顶象滑动拼图验证码》 《极验滑动拼图验证码》 《使用深度学习来破解 captcha 验证码》 《验证码终结者-基于CNNBLSTMCTC的训练部署套件》