利用html實現(xiàn)限制ip的投票網(wǎng)站作弊方案
來源:易賢網(wǎng) 閱讀:1168 次 日期:2014-12-29 15:28:04
溫馨提示:易賢網(wǎng)小編為您整理了“利用html實現(xiàn)限制ip的投票網(wǎng)站作弊方案”,方便廣大網(wǎng)友查閱!

對限制ip的投票網(wǎng)站作弊方案,這個方法利用了投票網(wǎng)站監(jiān)測遠程ip的一些漏洞來實現(xiàn),并沒有真正的偽造ip地址,http是建立的tcp之上的第七層,是不可能偽造真實ip地址的最近朋友需要一個投票軟件,我最近也就研究了一下這個投票網(wǎng)站,這個投票網(wǎng)站有驗證碼,每個ip限制為一票,看起來是標準的投票網(wǎng)站。我先研究了一下驗證碼:

這個投票網(wǎng)站的驗證碼開始很簡單,標準位置的標準四個數(shù)字,很好識別。后來變態(tài)到位數(shù)不一定,而且還有字母,而且還位置上下不一定,這下驗證碼的識別,不但是軟件很難識別,就連人工識別都困難。山窮水盡疑無路,柳暗花明又一村,請看下段分解!

在我不斷的分析和研究發(fā)現(xiàn)他的驗證碼檢查有漏洞,發(fā)現(xiàn)了這個漏洞,這個驗證碼已經(jīng)形同虛設(shè),無需識別,無需驗證碼,直接就繞過去了,因為他只在投票選項頁設(shè)置檢查驗證碼是否為空的 js代碼,js代碼是運行在客戶端,這種驗證的效果為零,一般js這種驗證只是為了方便用戶來使用的,做為投票網(wǎng)站只使用這一種驗證方式,在投票處理動態(tài)頁面竟然不檢查驗證碼是否為空,實在是不敢恭維,給網(wǎng)站的安全帶來極大的隱患。

對于驗證碼的問題,我已經(jīng)了解了破解方法,只要在投票的時候不直接訪問驗證碼文件,那么驗證碼就是為空,既然他的動態(tài)頁面不檢查驗證碼是否為空,所以只要在post的時候驗證碼參數(shù)為空就可以了。

那么還有一個問題就是這個投票網(wǎng)站檢查ip,限制一個ip只允許投票一次,那么只有使用代理,或者通過不停的斷網(wǎng)和撥號才能實現(xiàn)。我實在想不到其他好辦法,后來這個朋友找到了一個可以極速在這個網(wǎng)站投票的程序,我對這個程序的ip解決方案很好奇就問朋友要來想分析一下。

首先我是采取對這個投票軟件進行抓包的方式來研究,準備好了之后,打開投票程序“刷!提示軟件沖突!”暈,不會吧,那我就關(guān)掉一些程序,都關(guān)完了只留一個抓包程序還提示沖突,呵呵,原來這個程序竟然還知道有人可能會分析他的軟件,竟然遍歷進程名稱,檢查是否有可疑的程序,如果有程序?qū)λM行分析或者抓包,他就拒絕運行。呵呵,目前我知道他限制的軟件有易語言編程軟件,還有 wsockexpert_cn 抓包軟件。呵呵,關(guān)了易語言,把 wsockexpert_cn 名稱改一下,順利通過軟件的自身安全檢測,運行成功。

以下是我在使用過程中他投票是的數(shù)據(jù)包:

xml/html code復(fù)制內(nèi)容到剪貼板

post /vote/view.php?sid=33act=vote http/1.1

accept: */*

referer:

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:

cookie: phpsessid=pldjnb6scereodjm5niqb9q990

content-length: 49

connection: close

-forwarded-for 發(fā)現(xiàn)了這個http頭參數(shù) 后面跟著ip,呵呵,這個參數(shù)肯定有來頭,原來我一直不知道,呵呵,趕緊百度一下。

下面是百度后的一篇說明文章,說得很好,大家看看。

偽造http頭中的x-forwarded-for字段來偽造ip百度了一下x-forwarded-for的原理,這東西出來好長時間了.我還第一次聽說x-forwarded-for:簡稱xff頭,它代表客戶端,也就是http的請求端真實的ip,只有在通過了http 代理或者負載均衡服務(wù)器時才會添加該項。

它不是rfc中定義的標準請求頭信息,在squid緩存代理服務(wù)器開發(fā)文檔中可以找到該項的詳細介紹。

標準格式如下:

x-forwarded-for: client1, proxy1, proxy2

從標準格式可以看出,x-forwarded-for頭信息可以有多個,中間用逗號分隔,第一項為真實的客戶端ip,剩下的就是曾經(jīng)經(jīng)過的代理或負載均衡的ip地址,經(jīng)過幾個就會出現(xiàn)幾個。

wiki 的x-forwarded-for解釋 分析:

既然是要偽造客戶端ip,那我們先看看一般是怎樣獲取客戶端ip地址的(以php為例).這段代碼是在百度搜索到的.大部分網(wǎng)站可能都用這段代碼。

xml/html code復(fù)制內(nèi)容到剪貼板

$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我估計很多程序員都是從百度來的代碼吧.asp也類似.

然后我們來測試一下.

服務(wù)端代碼:

xml/html code復(fù)制內(nèi)容到剪貼板

//輸出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為真實地址.

所以一個網(wǎng)站如果是從x-forwarded-for來判斷客戶端ip地址的話,那么我們就可以利用這個邏輯漏洞刷票。

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)頁制作
易賢網(wǎng)手機網(wǎng)站地址:利用html實現(xiàn)限制ip的投票網(wǎng)站作弊方案
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇剩?/div>

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)