利用HTML實(shí)現(xiàn)限制ip的投票網(wǎng)站作弊方案
對(duì)限制ip的投票網(wǎng)站作弊方案,這個(gè)方法利用了投票網(wǎng)站監(jiān)測(cè)遠(yuǎn)程ip的一些漏洞來(lái)實(shí)現(xiàn),并沒有真正的偽造ip地址,http是建立的tcp之上的第七層,是不可能偽造真實(shí)ip地址的最近朋友需要一個(gè)投票軟件,我最近也就研究了一下這個(gè)投票網(wǎng)站,這個(gè)投票網(wǎng)站有驗(yàn)證碼,每個(gè)IP限制為一票,看起來(lái)是標(biāo)準(zhǔn)的投票網(wǎng)站。我先研究了一下驗(yàn)證碼:
這個(gè)投票網(wǎng)站的驗(yàn)證碼開始很簡(jiǎn)單,標(biāo)準(zhǔn)位置的標(biāo)準(zhǔn)四個(gè)數(shù)字,很好識(shí)別。后來(lái)變態(tài)到位數(shù)不一定,而且還有字母,而且還位置上下不一定,這下驗(yàn)證碼的識(shí)別,不但是軟件很難識(shí)別,就連人工識(shí)別都困難。山窮水盡疑無(wú)路,柳暗花明又一村,請(qǐng)看下段分解!
在我不斷的分析和研究發(fā)現(xiàn)他的驗(yàn)證碼檢查有漏洞,發(fā)現(xiàn)了這個(gè)漏洞,這個(gè)驗(yàn)證碼已經(jīng)形同虛設(shè),無(wú)需識(shí)別,無(wú)需驗(yàn)證碼,直接就繞過(guò)去了,因?yàn)樗辉谕镀边x項(xiàng)頁(yè)設(shè)置檢查驗(yàn)證碼是否為空的 js代碼,js代碼是運(yùn)行在客戶端,這種驗(yàn)證的效果為零,一般JS這種驗(yàn)證只是為了方便用戶來(lái)使用的,做為投票網(wǎng)站只使用這一種驗(yàn)證方式,在投票處理動(dòng)態(tài)頁(yè)面竟然不檢查驗(yàn)證碼是否為空,實(shí)在是不敢恭維,給網(wǎng)站的安全帶來(lái)極大的隱患。
對(duì)于驗(yàn)證碼的問題,我已經(jīng)了解了破解方法,只要在投票的時(shí)候不直接訪問驗(yàn)證碼文件,那么驗(yàn)證碼就是為空,既然他的動(dòng)態(tài)頁(yè)面不檢查驗(yàn)證碼是否為空,所以只要在post的時(shí)候驗(yàn)證碼參數(shù)為空就可以了。
那么還有一個(gè)問題就是這個(gè)投票網(wǎng)站檢查IP,限制一個(gè)IP只允許投票一次,那么只有使用代理,或者通過(guò)不停的斷網(wǎng)和撥號(hào)才能實(shí)現(xiàn)。我實(shí)在想不到其他好辦法,后來(lái)這個(gè)朋友找到了一個(gè)可以極速在這個(gè)網(wǎng)站投票的程序,我對(duì)這個(gè)程序的IP解決方案很好奇就問朋友要來(lái)想分析一下。
首先我是采取對(duì)這個(gè)投票軟件進(jìn)行抓包的方式來(lái)研究,準(zhǔn)備好了之后,打開投票程序“刷!提示軟件沖突!”暈,不會(huì)吧,那我就關(guān)掉一些程序,都關(guān)完了只留一個(gè)抓包程序還提示沖突,呵呵,原來(lái)這個(gè)程序竟然還知道有人可能會(huì)分析他的軟件,竟然遍歷進(jìn)程名稱,檢查是否有可疑的程序,如果有程序?qū)λM(jìn)行分析或者抓包,他就拒絕運(yùn)行。呵呵,目前我知道他限制的軟件有易語(yǔ)言編程軟件,還有 WSockExpert_Cn 抓包軟件。呵呵,關(guān)了易語(yǔ)言,把 WSockExpert_Cn 名稱改一下,順利通過(guò)軟件的自身安全檢測(cè),運(yùn)行成功。
以下是我在使用過(guò)程中他投票是的數(shù)據(jù)包:
- 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
- Cookie: PHPSESSID=pldjnb6scereodjm5niqb9q990
- Content-Length: 49
- Connection: Close
-Forwarded-For 發(fā)現(xiàn)了這個(gè)http頭參數(shù) 后面跟著IP,呵呵,這個(gè)參數(shù)肯定有來(lái)頭,原來(lái)我一直不知道,呵呵,趕緊百度一下。
下面是百度后的一篇說(shuō)明文章,說(shuō)得很好,大家看看。
偽造HTTP頭中的X-Forwarded-For字段來(lái)偽造IP百度了一下X-Forwarded-For的原理,這東西出來(lái)好長(zhǎng)時(shí)間了.我還第一次聽說(shuō)X-Forwarded-For:簡(jiǎn)稱XFF頭,它代表客戶端,也就是HTTP的請(qǐng)求端真實(shí)的IP,只有在通過(guò)了HTTP 代理或者負(fù)載均衡服務(wù)器時(shí)才會(huì)添加該項(xiàng)。
它不是RFC中定義的標(biāo)準(zhǔn)請(qǐng)求頭信息,在squid緩存代理服務(wù)器開發(fā)文檔中可以找到該項(xiàng)的詳細(xì)介紹。
標(biāo)準(zhǔn)格式如下:
X-Forwarded-For: client1, proxy1, proxy2
從標(biāo)準(zhǔn)格式可以看出,X-Forwarded-For頭信息可以有多個(gè),中間用逗號(hào)分隔,第一項(xiàng)為真實(shí)的客戶端ip,剩下的就是曾經(jīng)經(jīng)過(guò)的代理或負(fù)載均衡的ip地址,經(jīng)過(guò)幾個(gè)就會(huì)出現(xiàn)幾個(gè)。
wiki 的X-Forwarded-For解釋 http://en.wikipedia.org/wiki/X-Forwarded-For分析:
既然是要偽造客戶端IP,那我們先看看一般是怎樣獲取客戶端IP地址的(以php為例).這段代碼是在百度搜索到的.大部分網(wǎng)站可能都用這段代碼。
- $user_IP = ($_SERVER["HTTP_VIA"]) ? //是否使用了代理
- $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
- //獲取失敗則從REMOTE_ADDR獲取
- $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
- ?>
首先判斷HTTP_VIA頭是否存在,HTTP_VIA頭代表是否使用了代理服務(wù)器.如果沒有那就從REMOTE_ADDR字段獲取客戶端的IP地址,如果有那就從X-Forwarded-For獲取客戶端IP我估計(jì)很多程序員都是從百度來(lái)的代碼吧.asp也類似.
然后我們來(lái)測(cè)試一下.
服務(wù)端代碼:
- //輸出HTTP_X_FORWARDED_FOR
- echo "HTTP_X_FORWARDED_FOR:".$_SERVER["HTTP_X_FORWARDED_FOR"];
- //輸出REMOTE_ADDR echo "REMOTE_ADDR:". $_SERVER["REMOTE_ADDR"];
- ?>
可以看到獲取到的客戶端ip地址是不一樣的.REMOTE_ADDR為真實(shí)地址.
所以一個(gè)網(wǎng)站如果是從X-Forwarded-For來(lái)判斷客戶端IP地址的話,那么我們就可以利用這個(gè)邏輯漏洞刷票。
上一篇:單選按鈕、多選按鈕用圖片實(shí)現(xiàn)加樣式
欄 目:CSS/HTML
本文標(biāo)題:利用HTML實(shí)現(xiàn)限制ip的投票網(wǎng)站作弊方案
本文地址:http://mengdiqiu.com.cn/a1/CSS_HTML/9731.html
您可能感興趣的文章
- 04-02好看的字體樣式css,好看的字體樣式圖片
- 04-02html中加入css樣式的簡(jiǎn)單介紹
- 01-10利用iframe在網(wǎng)頁(yè)中顯示天氣附效果截圖
- 01-10通過(guò)html為FLASH加鏈接的實(shí)現(xiàn)代碼(div層)
- 01-10IE瀏覽器HTML Hack標(biāo)簽總結(jié)
- 01-10html用style添加屬性示例
- 01-10HTML中rel屬性分析
- 01-10HTML元素設(shè)置焦點(diǎn)的方法
- 01-10在html文件里include文件內(nèi)容的方法小結(jié)
- 01-10常用HTML meta 標(biāo)簽屬性(網(wǎng)站兼容與優(yōu)化需要)


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 04-02表格樣式css樣式,css樣式表單
- 04-02好看的字體樣式css,好看的字體樣式圖
- 04-02分頁(yè)樣式css,分頁(yè)樣式j(luò)q
- 04-02分頁(yè)樣式css,分頁(yè)樣式欄里用來(lái)定義首
- 04-02css樣式的引入,css樣式怎么引入
- 04-02css滾動(dòng)條樣式,css滾動(dòng)條的樣式
- 04-02css樣式引入方式有幾種,網(wǎng)頁(yè)引入css樣
- 04-02html中加入css樣式的簡(jiǎn)單介紹
- 04-02vue中的css樣式布局,vue添加css樣式
- 04-02內(nèi)嵌樣式css,內(nèi)嵌樣式表,內(nèi)部樣式表
隨機(jī)閱讀
- 01-10C++實(shí)現(xiàn)將數(shù)組中的值反轉(zhuǎn)
- 08-05dedecms織夢(mèng)模板編輯文檔的同時(shí)自動(dòng)更
- 01-11常用的HTML富文本編譯器UEditor、CKEdi
- 01-10C語(yǔ)言打印楊輝三角示例匯總
- 01-10C++ 類訪問控制的條件總結(jié)
- 01-10bat批處理徹底隱藏文件的方法(使用
- 08-05dedecms織夢(mèng)模板全站調(diào)用收藏?cái)?shù)的方法
- 01-10vue實(shí)現(xiàn)分頁(yè)加載效果
- 08-05DEDECMS點(diǎn)擊主欄目默認(rèn)顯示第一個(gè)子欄
- 08-05織夢(mèng)dedecms首頁(yè)調(diào)用縮略圖為背景