htpwdScan 1.0
htpwdScan 是一个HTTP暴力破解、撞库测试工具。
安装
要求 python3.6 +
特性
支持常见的认证模式:Basic/Digest/NTLM 等
支持对 GET / POST 参数进行暴力破解,支持使用占位符选定参数或参数的一部分
支持批量校验和导入HTTP代理,通过大量IP低频撞库,绕过IP策略
支持导入互联 上泄露的 工库,对接口发起撞库
支持编写python函数对参数进行预处理,解决密码策略较苛刻的破解场景,如 Microsoft OWA
支持字典文件中的占位符替换
支持优先固定密码,遍历用户名,以降低账 被锁定概率
支持导入超大字典文件
使用示例
Basic / Digest / NTLM 破解
可以分别设置用户名、密码字典,也可以设置包含用户名密码的单个字典
如果目标支持多种认证方式,会提示选择认证方式。 请注意,如果目标是Microsoft OWA,一般需要选择NTLM

POST /login.phption=login HTTP/1.1
Host: www.webscantest.com
Content-Type: application/x-www-form-urlencoded
Referer: http://www.webscantest.com/login.php
login=admin&passwd=123456&submit_login=login
执行
用user.txt 填充login 用户名参数,用pass.txt 填充 passwd 密码参数。
程序会首先发送一个请求,测试Response是否正常。
在request.txt文件中,也可以使用函数对参数值进行二次处理。参考
更换参数顺序,实现密码优先
设定参数的顺序,只影响程序生成字典的顺序。简单调整参数的顺序,即可实现固定密码,优先遍历用户名,减少账 被锁定的几率。修改上一节的命令:
撞库测试
使用互联 上泄露的 工库,对接口进行撞库测试。 在tests文件夹中,模拟写入了一个 leaked_db.txt 文件,它使用多个空格分隔了用户名和密码。
撞库时,通过–database参数,来指定参数和字典文件。login passwd参数将由 leaked_db.txt中的内容填充。
填充时通过正则表达式提取参数值。–regex (S+)s+(S+) 指定提取参数值的方式,在这个例子中,提取第一个非空字符串和第二个非空字符串。
csdn的数据行格式是zdg # 12344321 # zdg@csdn.net . 正则表达式可写作S+ # (S+) # (S+)
为了降低IP被检出异常的概率,建议同时指定 –fake-ip 参数,开启伪造HTTP头 X-Forwarded-For Client-IP
在撞库场景下,如果要对字典中的参数值进行二次处理,用函数包围参数名。参考:
校验和导入HTTP代理
在使用代理之前,应该校验代理服务器可以连通目标。如果服务器数量少,直接在命令行中指定,逗 分隔:
python htpwdScan.py –proxy 127.0.0.1:8888,127.0.0.1:8080 –check-proxy -u https://www.baidu.com –suc 百度一下 –get -o servers.txt
如果代理数量数量多,将其写入一个文件中用于校验:
请注意:如果代理服务器是HTTP协议的,可以忽略协议部分。 如果是HTTPS的,则必须指定协议
在发起破解时,同样地,使用 –proxy 或者 –proxy-file 来指定经过校验的服务器即可。
如果你想要使用Fiddler 或者 Burp Suite观察程序的请求,可以指定 –proxy 127.0.0.1:8080
参数说明
文章知识点与官方知识档案匹配,可进一步学习相关知识 络技能树首页概览22998 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!