0%

爆破后台-htpwdScan

htpwdScan

这个工具有一点小坑,记录一下备忘

优势在于可以方便的使用对参数做二次处理,可以自己编写一个函数来进行插入操作

经过测试发现这个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 减少程序输出,只输出破解成功的条目