Headline
CVE-2022-34983: scu-captcha
The scu-captcha package in PyPI v0.0.1 to v0.0.4 included a code execution backdoor inserted by a third party.
Project description
SCU_Captcha
声明
- 本项目只适用于编程学习用途,请在下载后24小时内删除!
- 不得随意传播本项目至任何公开场合(包括但不限于QQ群、微信群、贴吧论坛等)
- 因用户使用或修改项目源码而产生的一切责任与本人无关,本人不负任何连带责任
- 若不同意以上使用条例,请停止clone本项目并不得通过任何途径使用本项目
- 本项目源码以及条例解释权归本人所有
简介
针对于Sichuan University的JWC验证码特化训练的轻量级深度学习模型,基于Pytorch,模型为CNN(卷积神经网络)。
- 用于快速识别此类验证码
- 模型大小20M左右,有更精简的可能,不过没有时间进一步优化。
准确率
训练集
测试集
实际使用于JWC
98.915001%
98.715001%
大约90%
训练过程中一直在修改超参数,所以错误率有较多波动,实际使用时JWC还是会有更大的误差,毕竟数据集不完全一致,但是通过多次重复足够使用了。
训练集8万个,测试集2万个,根据JWC网站的统计,只包含如下字符:2345678abcdefgmnpwxy,共20个字符随机排列组合生成的4位验证码。
数据集采用谷歌的Kaptcha生成。
实际使用时魔改了此Github仓库的代码用于渲染生成:
因为魔改实在过于丑陋,就不放本人的源代码在这里了。
此处提供1万数据量的数据集,有需要可以取用,后续有需要可以提供10万的数据集到网盘:
使用方法****安装
本项目基于Pytorch,所以使用前需要安装Pytorch,所以如果没安装过Pytorch,你还需要大约1GB的空间安装Pytorch,具体安装请参见Pytorch官网
当拥有pytorch环境后,安装就变得极为简单,通过如下代码即可安装:
pip install scu_captcha
使用
随后就可以通过使用如下代码导入本包的两个组件
from scu_captcha import imgLoader,Predict
导入后,即可使用这两个函数进行验证码识别。
对于一张图片,imgLoader提供两种方式进行图片加载,分别是通过相对路径导入或二进制图片文件直接导入,然后将得到的对象输入Predict函数即可返回对应字符串:
# 直接使用二进制方式预测 session = requests.session() # 使用网络请求库 # 通过网络请求获得验证码二进制图像 byte_Captcha = session.get(url=captcha_url, headers=header).content img = imgLoader(byte_Captcha) # 导入二进制图片 res = Predict(img) # 进行预测,并输出预测的str到res对象
# 使用相对路径导入图片预测 # 此处为输出到图片,如果图片本身就存在,则无需此步骤 with open("captcha.jpg", “wb”) as f: f.write(byte_Captcha) # 根据相对路径读入文件 img = imgLoader(“captcha.jpg”) res = Predict(img) # 进行预测,并输出预测的str到res对象
具体用法也可参见TEST.py。
结语
- 才疏学浅,模型用得不好还请您指正
- 如果觉得有用(比如计网课设,爬虫,抢课脚本)等等用到了本模型,还请关照一下给个star哦~
Download files
Download the file for your platform. If you’re not sure which to choose, learn more about installing packages.
Source Distribution****Built Distribution