国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

偽造HTTP請求報文協(xié)議頭對網(wǎng)絡投票系統(tǒng)刷票的可行性研究

2012-10-24 01:20胡云峰陳皖芬
文山學院學報 2012年6期
關鍵詞:刷票代理服務器IP地址

胡云峰,陳皖芬

(1.文山學院 紀監(jiān)審處,云南 文山 663000;2.文山州民族職業(yè)技術學校,云南 文山 663000)

1 研究背景

在當今的互聯(lián)網(wǎng)時代,人們的工作、生活和網(wǎng)絡的聯(lián)系變得越來越緊密。人們開始習慣于將越來越多的工作放到互聯(lián)網(wǎng)上完成,其中最常見的就是網(wǎng)絡人物投票選舉活動。這一類的網(wǎng)絡應用為了保證其投票的公平性,大多都是針對投票人所使用的計算機的IP地址進行限制,保證他們在某一特定的時間內只能投設立的票數(shù)。針對這個限制,能不能利用什么方法繞開對IP地址以及投票時間的限制,對此類網(wǎng)絡投票系統(tǒng)進行刷票呢?

2 相關知識

2.1 HTTP協(xié)議及HTTP報文格式

2.1.1 超文本傳輸協(xié)議及HTTP報文

超文本傳輸協(xié)議(又稱作HTTP協(xié)議)用于在Internet上發(fā)送和接收消息,客戶端發(fā)送一個請求,服務器返回該請求的應答,所有的請求與應答都是HTTP包,HTTP協(xié)議使用可靠的TCP連接,默認端口是80。[1]

2.1.2 HTTP請求報文的結構

HTTP請求報文由4部分組成,分別是請求行、報頭、空白行和正文。請求行是請求報文中的重要組成部分,它由方法—URL—協(xié)議/版本3個部分構成。

2.2 WinHttpRequest.5.1對象

WinHTTP的全稱是Microsoft Windows HTTP Services, 它提供給開發(fā)者一個HTTP客戶端應用程序接口(API), 通過這種API借助HTTP協(xié)議給其他的HTTP服務器發(fā)送請求。由WinHTTP創(chuàng)建的WinHttpRequest.5.1對象,主要應用于客戶端向服務器端發(fā)送Request請求,在發(fā)送請求時,可以模擬構造HTTP請求包的請求標頭。[2]

3 偽造HTTP請求報文協(xié)議頭對網(wǎng)絡投票系統(tǒng)進行刷票的可行性研究(以ASPCMS投票系統(tǒng)為例)

ASPCMS投票系統(tǒng)是網(wǎng)絡上免費提供的一款基于ASP與ACCESS數(shù)據(jù)庫的在線投票系統(tǒng)。在測試中,為杜絕用戶惡意刷票。在系統(tǒng)后臺將“24小時內同IP可投票次數(shù)”及“24小時內同IP相同選項可投票數(shù)”兩個選項都設置為“1”,代表同一IP在24小時內只能投一次票。

利用HTTPWATCH PROFESSIONAL軟件對投票過程產(chǎn)生的HTTP數(shù)據(jù)包進行抓包分析,如圖1所示。

圖1 ASPCMS投票系統(tǒng)投票過程數(shù)據(jù)抓取

得到HTTP包數(shù)據(jù)如下:

“GET /upload/Vote.asp?id=10 HTTP/1.1”表示投票過程利用的是“GET”方式傳遞數(shù)據(jù),數(shù)據(jù)傳遞的目的地址是“/upload/Vote.asp”,其中參數(shù)“id=10”,表示投票對象是編號為10的人;“Referer: http://localhost/upload/index.asp”表示投票過程的前一個步驟是由“http://localhost/upload/index.asp”產(chǎn)生的?!癆ccept-Language:zh-cn”表示編碼類型;“Host: localhost”表示響應的主機名稱。

綜合以上關鍵數(shù)據(jù),分析整個投票過程的數(shù)據(jù)傳遞后,可利用WinHttpRequest.5.1對象的相關方法,模擬實現(xiàn)瀏覽器的整個投票過程,以驗證利用偽造HTTP報文數(shù)據(jù)包協(xié)議頭的方法實現(xiàn)網(wǎng)絡刷票的設想是否可行。

利用WinHttpRequest.5.1對象的相關方法,構造測試代碼,如下:

執(zhí)行代碼,出現(xiàn)提示:“您已經(jīng)投票,請稍后再來投票!”??梢钥闯?,程序對同一IP在24小時內的投票數(shù)作了限制。

系統(tǒng)利用以下代碼驗證客戶端IP地址:

Request.ServerVariables("HTTP_X_FORWARDED_FOR")表示服務器獲取客戶端瀏覽器的代理服務器IP地址,如果獲取到的代理服務器IP地址為空,表示客戶端瀏覽器并沒有使用代理服務器,在這種情況下,利用Request.ServerVariables("REMOTE_ADDR")獲取客戶端的真實IP地址。

分析以上代碼得出,只要能找到足夠多的代理IP地址,就可以實現(xiàn)刷票行為。當今很多網(wǎng)絡投票系統(tǒng)刷票程序都是利用大規(guī)模地使用代理IP地址實現(xiàn)功能,但是代理服務器經(jīng)常更新,不能長久使用,也難以找到,所以真正利用代理IP地址進行刷票,很難實現(xiàn)。在測試中,由于僅僅是構造HTTP報文數(shù)據(jù)包發(fā)送數(shù)據(jù)包,并不是真正地要使用瀏覽器與服務器進行交互,于是設想在HTTP報文協(xié)議頭中設置“X-Forwarded-For:XXX.XXX.XXX.XXX”(表示客戶端以“XXX.XXX.XXX.XXX”作為IP地址發(fā)送數(shù)據(jù)),看看能不能實現(xiàn)IP地址的偽造。

在測試代碼中加入代碼:oReq.setRequestHeader "X-Forwarded-For","192.140.130.11" 在協(xié)議頭里設置報文的發(fā)送IP地址(其中“190.140.130.11”這一IP地址是偽造的),運行該代碼后,出現(xiàn)了“恭喜您,投票成功,謝謝您的參與!”的提示,說明投票成功。返回前臺投票頁面,也看到對應的人物票數(shù)增加了一票。在測試代碼中,我們又隨意填寫了一些IP地址,對服務器發(fā)送數(shù)據(jù),最終都可以得到投票成功的提示,至此,驗證了偽造協(xié)議頭進行刷票的方法對本套投票系統(tǒng)有效。

完整刷票代碼如下:

在實際應用中,針對ASPCMS網(wǎng)絡投票系統(tǒng),根據(jù)用戶的需求,如需對某一目標進行大規(guī)模的投票,只需在不違反TCP/IP協(xié)議的前提下,偽造出足夠多的IP地址,即可實現(xiàn)刷票。

[1]謝希仁.計算機網(wǎng)絡(第5版)[M].北京:電子工業(yè)出版社,2011:243-245.

[2]About WinHTTP[EB/OL].http://msdn.microsoft.com/zh-cn/library/aa392925(v=vs.85).aspx.

[3]吳功宜,吳英.計算機網(wǎng)絡技術教程—自頂向下分析與設計方案[M].北京:機械工業(yè)出版社,2010:119-126.

[4]快樂笛子.使用WinhttpRequest偽造 Refere [EB/OL].[2010-08-06].Http://www.caizq.com/?type=detail&id=11.

猜你喜歡
刷票代理服務器IP地址
金鷹獎主動公開“刷票”情況
鐵路遠動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設置
要改變對網(wǎng)絡投票的過度依賴
要改變對網(wǎng)絡投票的過度依賴
地鐵信號系統(tǒng)中代理服務器的設計與實現(xiàn)
IP地址隱藏器
IP地址切換器(IPCFG)
微信投票亂局與治道變革
基于SNMP的IP地址管理系統(tǒng)開發(fā)與應用
公安網(wǎng)絡中IP地址智能管理的研究與思考
育儿| 潼关县| 报价| 阳东县| 平阳县| 新源县| 如皋市| 年辖:市辖区| 仙桃市| 连山| 和平区| 渝中区| 水富县| 横山县| 兴城市| 丹阳市| 长兴县| 海盐县| 盖州市| 墨江| 临洮县| 六枝特区| 梁平县| 芜湖县| 伊宁县| 日照市| 嘉兴市| 阿坝| 永康市| 乃东县| 满城县| 泗水县| 富源县| 新和县| 同江市| 汕尾市| 吉木乃县| 盖州市| 荣成市| 肇东市| 博乐市|