这个工具有一点小坑,记录一下备忘
优势在于可以方便的使用对参数做二次处理,可以自己编写一个函数来进行插入操作
经过测试发现这个hashpassword参数只是一个base64编码后的字符串
利用这个脚本来完成
然后按照他的路径修改一下把密码字典传入的字符串先做一个base64编码
但是使用命令行的时候直接报错,这里记录一下,最后的解决方案是直接找到他的运行类,模拟命令行参数输入的方式进行运行
直接运行这个py就可以,填入自己需要的参数
request.txt
是burp抓下来的请求体
-d 是字典,然后后面是参数=字典
–fail是响应体出现的内容表示错误
官网详细的参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| usage: htpwdScan.py [options]
* HTTP weak pass scanner. By LiJieJie *
Target: -u RequestURL 指定破解的URL -u "https://www.test.com/login.php" -f RequestFile 从文本文件中,导入HTTP请求 --https 当从文件导入HTTP请求时,强制使用HTTPS --get 强制使用HTTP GET,默认POST --auth [ ...] Basic/Digest/NTLM 暴力破解, e.g. --auth users.txt pass.txt e.g. --auth users.txt my_own_func(pass.txt) --pass-first 固定密码优先爆破,减小账号被锁定几率
Dictionary: -d Param=DictFile [Param=DictFile ...] 为参数设置字典文件, 支持二次处理参数值 e.g. -d user=users.dic pass=md5(pass.dic) 高级用户可自写python函数处理参数,lib/value_process.py e.g. -d user=users.dic pass=capitalize(pass.dic)
Detect: --no302 302跳转不敏感, 默认敏感,视为破解成功标记 --fail Fail [Fail ...] 破解失败时的正文标记,可以是多个 e.g. --fail "user not exist" "password wrong" --suc Suc [Suc ...] 破解成功时的正文标记,可以是多个 e.g. --suc "welcome," "logout" --header-fail HeaderFail 位于HTTP头中的破解失败标记 --header-success HeaderSuccess 位于HTTP头中的破解成功标记 --retry-txt RetryText 当该文本出现时,视为当前请求无效,会再次重试 e.g. --retry-txt="IP blocked" --retry-no-txt RetryNoText 当该文本没有出现时,视为当前请求无效,会再次重试 e.g. --retry-no-txt="<body>" --retry-header RetryHeader 当该文本出现在HTTP头时,视为当前请求无效,会再次重试 e.g. --retry-header="Set-Cookie:" --retry-no-header RetryNoHeader 当该文本没有出现在HTTP头时,视为当前请求无效,会再次重试 e.g. --retry-no-header="HTTP/1.1 200 OK"
Proxy and Spoof: --proxy Proxy 命令行设定若干代理服务器 e.g. --proxy=1.2.3.4:8000, 5.6.7.8:8000 --proxy-file ProxyFile 通过文件导入若干代理服务器 e.g. --proxy-file=proxies.txt --check-proxy 校验HTTP代理服务器是否工作正常 --fake-ip 伪造HTTP头 X-Forwarded-For,尝试伪造源IP --fake-sid FakeSID 伪造session ID --sleep Seconds 请求完成后延时N秒,减小被服务器封禁IP的几率
Database attack: --database param1,parma2=file 导入社工库进行撞库测试 e.g. --database user,pass=csdn.txt --regex REGEX 按行正则提取参数值. e.g. --regex="(\S+)\s+(\S+)"
General: -t Threads 并发工作线程,默认50 --allow-redirect 允许Follow 30x调整,默认禁止 -o OutFile 输出文件名。 默认为: _proxy.servers.txt 或 _cracked.accounts.txt --debug 进入调试模式,观察程序行为 --silent 减少程序输出,只输出破解成功的条目
|