| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> PyTorch机器学习识别验证码之旅:广商学时通系统 -> 正文阅读 |
|
[人工智能]PyTorch机器学习识别验证码之旅:广商学时通系统 |
一、背景记得在 2021-2022 上学期的时候,第一版学时通系统问世,这个系统主要是用来查学生的学时信息。当时发现了系统比较简陋,没有验证码防护,账号为学号,密码为学号后六位,让我感觉数据等同于在裸奔。 为了实现一些功能,我开始收集不同年级、不同专业、班级等学号规则信息,大概摸清了一些学号规则后写了一个简单爬虫。爬虫的主要功能就是检测学号是否存在,简言之也就是扫号。 爬虫程序跑了几次后,发现了有一个反扒机制:
针对内网 IP 来受控,太 xxx 了!!!这就是你这么拽不加验证码的原因吗? 由于当时在长沙培训,为了比赛,后来就不了了之了。 当时的登录接口(现在停用了): POST http://192.168.51.200/webapi/login/ 请求(json)
响应
后来,第二版学时通系统上线了,看了一下,功能丰富了,安全提升了,体验也更好了,前端界面 UI 实属喜欢! 通知内容:
跟前一版本相比,仍然存在弱口令问题,只是多了验证码,只能防君子,个人感觉没有前一版本安全。 开始言归正传了,下面我将简称第二版学时通系统为学时通系统。 二、目的简单直接粗暴,扫号! 三、分析接口
step1:找验证码接口打开浏览器 Chrome 开发者工具,刷新页面。 发现验证码图片来着 base64 图像。 继续往上找找接口,发现验证码 base64 图像数据来自 http://10.0.0.43:8848/learntime/sys/randomImage/1650700433317?_t=1650700433 接口。 这个接口是请求方式是 GET,只有两个参数,也就是时间戳,我们暂时不管。 Step2:找登录接口输入信息,验证码随便填,请求找到下面的接口:
看到请求了这些信息:
参数都是明文,没有加密。很简单的一个接口。 参数含义:账号、密码、验证码、生成验证码的时间戳(为了与生成验证码接口中的验证码对齐)。 再看看响应数据:
根据上面的信息,我们可以手动构造信息进行登录,手动成功说明思路没有问题,接着再开始编码。 四、过验证码几种识别思路
抖机灵!空手套白狼!找一个类似的验证码,扔进去模型训练。如果实在找不到,就自己写一个(前提是简单),没错,我就亲手写了一个!!! 我是怎样做的?
并手动标注字符。
找到一个类似的,虽然不 100% 像,但足够了。
上图是原始,下图是生成。很像了吧!
五、学习总结为了得到验证码样本,可以空手套白狼。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:59:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |