fiddler抓包 破解微信投票
fiddler抓包
今天接到小老闆的任務,想讓我給XXX刷點票。
這個投票的東西保護性做的很好,他只能每天投三個票,每個人只能投一張。我一開始用了一個bash指令碼,結果沒用。仔細琢磨,發現它是有以下幾點的:
1:根據ip判斷是否刷票
2:根據openid判斷是同一個人
3:他用到了類似hash編碼的東西
……
我下載了一個fiddler準備抓包,看看他的引數倒是啥。
fiddler其實就是一個代理伺服器,先把要傳送的資訊發給代理伺服器,然後再通過代理伺服器發給目標網站。所以,我們能在本地的代理伺服器上檢視到這些資訊的具體引數。
你這小東西,長得倒是挺精緻~
點開之後,開啟你要刷票的網頁,微信的話你可以在電腦上下載微信客戶端,在客戶端開啟投票網頁。
開啟表單,你可以看到他的引數。一般都是Post的表單,看起來比較安全,但是在抓包軟體面前就是雞肋。
既然知道了他的引數是啥,那麼我們也該動手了。
在左下角輸入bpu清理斷點
然後設定斷點
bpu + 目標網址
之後,重新執行,也可以重新開啟這個網址。
然後就會出現這樣的框,雙擊修改內容,然後點執行完成。
執行之後。你可以看JSON得到的結果,從這裡你就可以看到你寫的引數是否真的起作用了。
明白了各個引數分別代表什麼,那我們就可以直接訪問後臺資料了。
訪問
從左側找到URL,複製下來。再從文字試圖找到post的引數。
記錄下來。
開啟eclipse,新建一個web server project,寫一個訪問url的java檔案。記住,是post的形式的,還要寫上訊息頭。
Post這個URL和引數,加一個for迴圈,整個過程美滋滋。
但是有一個問題我到現在沒理解,就是他加的hash這個引數,我找遍了各種引數然後把它們轉成hash編碼,都沒得到和文中hash值相同的,可能這個加密的是人家自己寫的吧。
在我找的這個網站中,知識修改了openid是不可以的,因為只修改openid的話,它會顯示hash錯誤,由於我不知道hash祕鑰或明文,肯定不知道這個引數代表的啥。所以還需要在研究研究,看看這個引數到底代表什麼意思。
關於代理IP
對了,忘了說ip的事情了,單個IP有時候在大網站是不可以的(小網站不檢查IP),這時候你就需要用上代理IP了,你可以去上網爬一些免費的代理IP,然後每次都用不同的IP訪問,大概就是這樣幾。
用Python爬代理ip比較簡單,可以參考其他博主寫的爬ip的內容,在這兒我就不多說啦!
共勉!