1、基于模拟浏览器的登录爆破测试工具。
2、支持验证码识别
参考CrackCaptchaLogin 的框架进行修改, 仅保留了本地OCR识别功能,其他都已经进行重写。
新增功能较多,可通过配置文件分析所有支持的功能。
此步骤非必须,如果使用 本地 tess4j 识别验证码的话需要在jar同级目录下创建 tessdata目录 存放验证码识别数据,用于 tesseract-ocr 的训练识别验证码的库。
tessdata/eng.traineddata 简单英语识别库
tessdata/num.traineddata 简单数字识别库
tessdata/chi_sim.traineddata 简单中文识别
tessdata/osd.traineddata 简单文本方向识别
注意:本地识别验证码没有做什么处理,误报很高,需要指定自己的训练集。
总结:本地OCR识别库准确率太低,没什么配置必要。
远程API OCR识别需要自己搭建ocr服务器,
工具会通过post传输base64的图片数据,返回的数据可通过正则自定义提取, 默认提取所有响应内容作为验证码。
ddddocr远程识别demo:
# ddddocr_api_simple.py
from flask import Flask, request
import json
import ddddocr
import base64
app = Flask(__name__)
app.config['DEBUG'] = True
ocr = ddddocr.DdddOcr()
@app.route('/', methods = ["POST"])
def getCode():
img_b64 = request.get_data()
img = base64.b64decode(img_b64.strip())
text = ocr.classification(img)
print(text)
return text
if __name__ == '__main__':
app.run()
username.txt 账号 字典文件
password.txt 密码 字典文件
user_pass.txt 账号:密码对 字典文件
启动配置:
使用命令java -jar CrackCaptcahLogin.jar打开工具
或 点击jar包启动
基本使用:
根据 UI 进行手动配置
进阶使用:
如需设置每个元素的默认值和其他关键选项,便于对项目进行重复爆破,请修改 config.prop 配置文件
# 自定义启动时的配置文件名称
java -Dconfig=xxx.prop -jar CrackCaptchaLogin.jar
program_version=NOVASEC 3.4 20230913
browser_ua=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
browser_proxy=http://127.0.0.1:8080
clear_cookies=true
user_name_file=dict//username.txt
pass_word_file=dict//password.txt
user_pass_file=dict//user_pass.txt
pair_separator=:
# dict_compo_mode support (cartesian|pitchfork|pair_file)
dict_compo_mode=cartesian
user_mark_in_pass=%USER%
exclude_history =false
login_url=https://x.x.x.x/admin/login/index
name_ele_value=//*[@id="name"]
name_ele_type=XPATH
pass_ele_value=//*[@id="pw"]
pass_ele_type=XPATH
submit_ele_value=//*[@id="container"]/form/button
submit_ele_type=XPATH
browser_show=true
login_page_wait_time=1000
submit_auto_wait=true
submit_fixed_wait_limit=1000
submit_auto_wait_limit=5000
submit_auto_wait_interval=1000
success_regex=welcome|登录成功
failure_regex=登录失败|Login fail|用户名或密码错误
captcha_regex=验证码不正确|验证码输入错误|请输入正确验证码|验证码错误
captcha_switch=true
locale_Identify=false
captcha_url=https://x.x.x.x/index/verify/index
captcha_ele_value=//*[@id="verify"]
captcha_ele_type=XPATH
ident_time_out=5000
ident_format_regex=null
ident_format_length=4
remote_ident_url=http://127.0.0.1:5000/base64ocr
remote_extract_regex=null
remote_expected_status=200
remote_expected_keywords=null
locale_tess_data_name=eng
# Element lookup action error Setting
browser_close_action=break
find_ele_illegal_action=continue
find_ele_null_action=continue
find_ele_exception_action=continue
目前仅实现单线程及单进程爆破,如果需要多开爆破任务,就多开几个虚拟机操作
由于jxBrowser版本问题, 没有办法进行太多的自定义配置。
由于jxBrowser版本问题, 可能存在Chrome内核反制场景漏洞。
对于部分场景可能无法识别使用
参考资料:
CrackCaptcahLogin 1.0 小米范验证码登陆爆破工具
http://www.cnblogs.com/SEC-fsq/p/5712792.html
CrackCaptcahLogin 2.0 小米范验证码登陆爆破工具修改版
https://github.com/hkylin/CrackCaptcahLogin
在学习本文技术或工具使用前,请您务必审慎阅读、充分理解各条款内容。
1、本团队分享的任何类型技术、工具文章等文章仅面向合法授权的企业安全建设行为与个人学习行为,严禁任何组织或个人使用本团队技术或工具进行非法活动。
2、在使用本文相关工具及技术进行测试时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。如您仅需要测试技术或工具的可行性,建议请自行搭建靶机环境,请勿对非授权目标进行扫描。
3、如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。
4、本团队目前未发起任何对外公开培训项目和其他对外收费项目,严禁任何组织或个人使用本团队名义进行非法盈利。
5、本团队所有分享工具及技术文章,严禁不经过授权的公开分享。
如果发现上述禁止行为,我们将保留追究您法律责任的权利,并由您自身承担由禁止行为造成的任何后果。
END
如您有任何投稿、问题、建议、需求、合作、请后台留言NOVASEC公众号!
或添加NOVASEC-余生 以便于及时回复。
感谢大哥们的对NOVASEC的支持点赞和关注
加入我们与萌新一起成长吧!
本团队任何技术及文件仅用于学习分享,请勿用于任何违法活动,感谢大家的支持!!