HTML5 對限制ip的投票網站作弊方案,這個方法利用了投票網站監測遠程ip的一些漏洞來實現,并沒有真正的偽造ip地址,http是建立的tcp之上的第七層,是不可能偽造真實ip地址的最近朋友需要一個投票軟件,我最近也就研究了一下這個投票網站,這個投票網站有驗證碼,每個IP限制為一票,看起來是標準的投票網站。我先研究了一下驗證碼:
這個投票網站的驗證碼開始很簡單,標準位置的標準四個數字,很好識別。后來變態到位數不一定,而且還有字母,而且還位置上下不一定,這下驗證碼的識別,不但是軟件很難識別,就連人工識別都困難。山窮水盡疑無路,柳暗花明又一村,請看下段分解!
在我不斷的分析和研究發現他的驗證碼檢查有漏洞,發現了這個漏洞,這個驗證碼已經形同虛設,無需識別,無需驗證碼,直接就繞過去了,因為他只在投票選項頁設置檢查驗證碼是否為空的 js代碼,js代碼是運行在客戶端,這種驗證的效果為零,一般JS這種驗證只是為了方便用戶來使用的,做為投票網站只使用這一種驗證方式,在投票處理動態頁面竟然不檢查驗證碼是否為空,實在是不敢恭維,給網站的安全帶來極大的隱患。
對于驗證碼的問題,我已經了解了破解方法,只要在投票的時候不直接訪問驗證碼文件,那么驗證碼就是為空,既然他的動態頁面不檢查驗證碼是否為空,所以只要在post的時候驗證碼參數為空就可以了。
那么還有一個問題就是這個投票網站檢查IP,限制一個IP只允許投票一次,那么只有使用代理,或者通過不停的斷網和撥號才能實現。我實在想不到其他好辦法,后來這個朋友找到了一個可以極速在這個網站投票的程序,我對這個程序的IP解決方案很好奇就問朋友要來想分析一下。
首先我是采取對這個投票軟件進行抓包的方式來研究,準備好了之后,打開投票程序“刷!提示軟件沖突!&rdqu
以下是我在使用過程中他投票是的數據包:
XML/HTML Code復制內容到剪貼板
POST /vote/view.php?sid=33act=vote HTTP/1.1
Accept: */*
Referer: http://www.qdnfy.gov.cn/vote/vote.php
Content-Type: application/x-www-form-urlencoded
X-Forwarded-For: 218.20.218.200
CLIENT_IP: 218.20.218.200
VIA: 218.20.218.200
REMOTE_ADDR: 218.20.218.200
Accept-Language: zh-cn
Accept-Encoding: text
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)
Host: www.qdnfy.gov.cn
html' target='_blank'>Cookie: PHPSESSID=pldjnb6scereodjm5niqb9q990
Content-Length: 49
Connection: Close
-Forwarded-For 發現了這個http頭參數 后面跟著IP,呵呵,這個參數肯定有來頭,原來我一直不知道,呵呵,趕緊百度一下。
下面是百度后的一篇說明文章,說得很好,大家看看。
偽造HTTP頭中的X-Forwarded-For字段來偽造IP百度了一下X-Forwarded-For的原理,這東西出來好長時間了.我還第一次聽說X-Forwarded-For:簡稱XFF頭,它代表客戶端,也就是HTTP的請求端真實的IP,只有在通過了HTTP 代理或者負載均衡服務器時才會添加該項。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答