前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >验证码爆破总结及python实现爆破功能

验证码爆破总结及python实现爆破功能

作者头像
Ms08067安全实验室
发布2019-09-25 15:29:58
3.3K0
发布2019-09-25 15:29:58
举报

本文作者:Junsec(Ms08067实验室Python渗透小组成员)

验证码生成分为两种:

1.本地js生产验证码。

2.请求url刷新验证码,代码根据这种情况编写。.

功能简介:

-u 用户名

-t 后台地址

-p 字典地址

-c 验证码地址

-k 使用云打码平台识别验证码,默认使用为pytesseract识别验证码

用法:

python test_captche.py -u admin -t http

://172.13.98.57/login.php -c

http://172.13.98.57/inc/showvcode.php -p src.txt -k

思路分析:

1.创建cookie容器存放cookie,将cookie保存到全局变量,保存验证码到本地识别。

2. 定义参数key,如果使用参数为云打码平台,一键识别函数定义用户名和密码,识别本地验证码,返回识别的验证码;否则导入pytesseract库识别验证码,通过函数imag_to_string识别本地验证码。

3.定义随机请求头,使用random.choice随机选择请求头,加上1到2秒的延迟,防止waf或者检测设备判断为爬虫,或者爆破。

4.F12查看登陆失败的错误提示,判断是否爆破成功,也可以根据登陆成功的响应码判断是否登陆成功,如302跳转。

5.读取字典,调用函数request_post开始发送post请求,爆破后台网站。

6.读取外部参数,如果username和passfile都不为空,开始读取字典,爆破后台。

7.效果图

-u 用户名

-t 后台地址

-p 字典地址

-c 验证码地址

-k 是否使用云打码平台识别验证码

总结:1.请求验证码地址获取cookie。

2.识别验证码。

3.开始爆破,发送post请求。

代码写得不太完善,测试结果也不太理想,因为随机延迟,效率太低了,自己心目中的代码,应该加上ip代理池和多线程绕过防护,请求表单使用模块自己抓取,不用每次手动加上,密码读取应该加上密码喷洒,可以使用同一密码对多个用户爆破;下次在重写下,代码更加完善。

https://github.com/AdministratorGithub/baop

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档