驗證碼如何繞過#
0x01#
在項目中遇到了一個登入口,但是有驗證碼,同時使用了當前驗證碼的 UUID 進行驗證,簡單來說就是
如果需要爆破登入接口,需要識別驗證碼的同時攜帶上本次驗證碼的 UUID 同時爆破,接口才能返回信息。
樣式如下:
0X02#
UUID 同時有時間校驗
UUID 正常的情況下:
重發包的情況下:
此處的 UUID 功能可以有:
- 時間戳
- SIGN 校驗
- 驗證碼更新
爆破的時候就有個很尷尬的問題,如果直接引入 burp 裡面,他的 UUID 是不會更新的,代表每一次的請求 SIGN 都是無效的。
0X03#
解決方案:
captcha-keiller 自帶了一個解決方案
其中 regex 就是用來提取 token 之類的參數的。
regex 需要用正則提取,參考如下:
在 intrude 模塊裡面設置一下,在 intruder 中增加校驗的參數@captcha-killer-modified@
參考如下:
爆破回顯已經能夠正確的運行:
log 日誌顯示如下:
完美解決這個問題。
所使用工具請參考以上說明:
https://github.com/f0ng/captcha-killer-modified