Python编程:腾讯防水墙原理浅析与Flask结合测试

简介: Python编程:腾讯防水墙原理浅析与Flask结合测试

腾讯防水墙

地址:https://007.qq.com/


基本原理:

前端认证 + 后端认证


前端认证

前端参数:

id : 元素的id(必须)

data-appid : AppID(必须)

data-cbfn : 回调函数名(必须)

data-biz-state : 业务自定义透传参数(可选)


接口发送的参数比较多,不做列举


返回参数

ret: 0, // 0 验证成功, 1 未通过验证

ticket: “String”,

randstr: “String”


后端认证

发送参数

aid (必填)

AppSecretKey (必填)

Ticket (必填) 验证码客户端验证回调的票据

Randstr (必填) 验证码客户端验证回调的随机串

UserIP (必填) 提交验证的用户的IP地址(eg: 10.127.10.2)


返回参数

response 1:验证成功,0:验证失败,100:AppSecretKey参数校验错误[required]

evil_level [0,100],恶意等级[optional]

err_msg 验证错误信息[optional],查看详细说明


原理浅析

现在捋一捋参数传递的方式


前端 带着 AppID 和 其他参数向腾讯验证中心验证

腾讯验证中心 将验证结果 ticket + randstr 返还给前端

前端 将得到的参数 ticket + randstr 传递给 后端

后端 将前端传递过来的参数 aid/AppSecretKey/Ticket/Randstr/UserIP 向 腾讯验证中心 进行二次验证

如图

image.png

所以,这个是前后端二次验证的机制,腾讯验证中心 充当了鉴权中心

关键点在于第四步,后端 直接向腾讯验证中心 进行最后确认

如果要破解,应该在步骤1上做文章,其他步骤有点难。。。


参考腾讯防水墙给出的文档,使用Flask做了一个简单的Demo,供参考


Demo地址:https://github.com/mouday/TencentCaptcha

image.png

相关文章
|
8月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
744 0
|
8月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
834 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
9月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
602 1
|
9月前
|
机器学习/深度学习 文字识别 Java
Python实现PDF图片OCR识别:从原理到实战的全流程解析
本文详解2025年Python实现扫描PDF文本提取的四大OCR方案(Tesseract、EasyOCR、PaddleOCR、OCRmyPDF),涵盖环境配置、图像预处理、核心识别与性能优化,结合财务票据、古籍数字化等实战场景,助力高效构建自动化文档处理系统。
2476 0
机器学习/深度学习 算法 自动驾驶
1449 0
|
9月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
2106 2
|
9月前
|
设计模式 缓存 运维
Python装饰器实战场景解析:从原理到应用的10个经典案例
Python装饰器是函数式编程的精华,通过10个实战场景,从日志记录、权限验证到插件系统,全面解析其应用。掌握装饰器,让代码更优雅、灵活,提升开发效率。
616 0
|
10月前
|
数据采集 消息中间件 并行计算
Python多线程与多进程性能对比:从原理到实战的深度解析
在Python编程中,多线程与多进程是提升并发性能的关键手段。本文通过实验数据、代码示例和通俗比喻,深入解析两者在不同任务类型下的性能表现,帮助开发者科学选择并发策略,优化程序效率。
777 1
|
10月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
673 18

推荐镜像

更多