LOADING

加载过慢请开启缓存 浏览器默认开启

youbing的博客

记录学习与生活

技术博客,分享编程学习笔记

验证码识别绕过

2026/6/13

前言

本篇文章主要介绍传统图形验证码绕过方式和防护手段,以及防护方面的思考。文章仅供学习,作者不鼓励、不支持任何未经授权的系统测试、数据获取或安全绕过行为。

示例

当发现网站验证码比较简单没有什么干扰比如

就可以尝试找到网站的验证码响应
然后保存下来利用EasyOCR识别验证码,这里放一个示例脚本

from PIL import Image
import numpy as np
import easyocr

reader = easyocr.Reader(['en'], gpu=False)

def recognize(path):
    img = Image.open(path).convert('RGB')
    arr = np.array(img)
    res = reader.readtext(arr)
    return ''.join([item[1] for item in res])

if __name__ == '__main__':
    img_path = input("请输入验证码图片路径(支持拖拽):").strip().strip('"')
    try:
        code = recognize(img_path)
        print(f"识别结果:{code}")
    except Exception as e:
        print(f"出错:{e}")

成功识别该验证码

作用

一些网站为了防止绕口令爆破会使用验证码进行防护,示例中虽然只验证了单次识别验证码,但是配合其它代码可能降低自动化请求的成本。

验证码失效原因

验证码样式过于简单,无干扰元素或干扰元素较弱(背景单一,干扰线无或过少,固定字体,格式统一)

如何进行防护

可能影响用户体验:

1、添加更多干扰元素减少识别成功率
2、改用滑块或行为验证码

对用户体验影响较小:

1、IP风控
2、风险评分系统

思考与总结

传统字符验证码作为独立安全措施具有较大风险,一个安全的认证需要更多手段结合构建一个完整的认证体系。滑块验证码和行为验证码在一定程度上增加了验证码的安全性,但是牺牲了用户体验(增加用户验证时长,增加用户操作步骤)。IP风控和风险评分系统在用户使用过程中影响较小,但是可能会对用户造成误伤,还有在使用过程中会增加维护成本。

阅读全文

ctfshow web应用安全与防护题解

2026/3/16

Base64编码隐藏

打开题目f12查看源码发现密码被base64加密

1773670223912

解码得到密码

1773670666647

登录得到flag

1773670740030

HTTP头注入

f12查看源码发现密码被base64加密

1773670223912

解码得到密码

1773670666647

登录提示只能ctf-show-brower登录

1773671083716

这里抓包修改(靶场默认开启https,删除s切换回http再抓包)

1773671245832

发送请求包得到flag

1773671327314

Base64多层嵌套解码

这里步骤跟“HTTP头注入”一样,只是中间的解码的步骤复杂了一些

第1步逆向:Base64解码 text atob(“SXpVRlF4TTFVelJtdFNSazB3VTJ4U1UwNXFSWGRVVlZrOWNWYzU=”)

第2步逆向:这一步是 btoa(‘aB3’ + encoded + ‘qW9’).substr(2) 对第1步结果Base64解码 得到完整字符串,前面补回2个字符 去掉开头的”aB3”和结尾的”qW9”

第3步逆向:这一步是 btoa(encoded.split(‘’).reverse().join(‘’)) 对第2步结果Base64解码 将字符串反转

第4步逆向:这一步是 btoa(encoded + ‘xH7jK’).slice(3) 对第3步结果Base64解码 开头补回3个字符 去掉结尾的”xH7jK”

第5步逆向:最后Base64解码,得到原始密码

阅读全文

漏洞挖掘学习笔记

2026/3/10

int类型

2147483648=0

科学计数法

x为任意正整数
1e-x绕过检测让数为小数
1e+x绕过最大输入位数

四舍五入

例子:平台充值0.014第三方最小到0.01支付0.01实际到账0.014

Pirce

可以尝试将参数修改成不正常的值(如:-1,0.01,0.019)

越权

找到能够越权的参数比如userid、couponid、address

并发

阅读全文
1
avatar
youbing

你好!我是 youbing
这是我的技术博客
分享编程学习笔记和生活记录