VBS偽造HTTP-REFERER的實現(xiàn)方法
來源:易賢網(wǎng) 閱讀:2338 次 日期:2016-07-07 14:38:04
溫馨提示:易賢網(wǎng)小編為您整理了“VBS偽造HTTP-REFERER的實現(xiàn)方法”,方便廣大網(wǎng)友查閱!

最近用VBS模擬POST提交表單,發(fā)現(xiàn)遇到檢測Referer的頁面就不管用了。

在測試目錄寫了一個簡單的referer.php,代碼如下

代碼如下:

<?php

if (!isset($_SERVER["HTTP_REFERER"]))

echo "No Referer";

else

echo $_SERVER["HTTP_REFERER"];

?>

如果直接點擊上面的鏈接,那么頁面會顯示referer頁面的鏈接。

代碼如下:

Set http = CreateObject("msxml2.xmlhttp")

http.open "GET","http://jb51.net/test/referer.php",False

http.setRequestHeader "Referer","http://jb51.net"

http.send

WScript.Echo http.responseText

但是如果我用VBS調(diào)用msxml2.xmlhttp組件訪問這個頁面,返回的卻是No Referer。實在匪夷所思,難道我的代碼寫錯了?

于是Google了一下“VBS偽造HTTP REFERER”,發(fā)現(xiàn)搜出來的內(nèi)容大部分和這篇文章一樣,不用看又是復(fù)制粘貼,你抄我的,我抄你的,抄來抄去不知道到底是誰的,而且還是錯的!

那篇文章第一個例子是ASP的

代碼如下:

dim http

set http=server.createobject("MSXML2.XMLHTTP")

Http.open "GET",url,false

Http.setRequestHeader "Referer","http://www.fromdomain.cn/"

Http.send()

開始我還以為ASP下的VBS和我直接雙擊運行的VBS不一樣,ASP下的比較牛逼,可以改Referer。為此我還專門裝了IIS測試,發(fā)現(xiàn)返回的照樣是No Referer。后來才看到下面的留言,“原諒我對asp不熟,給不了你什么幫助,自己查點其他資料參考一下吧”,“這我沒怎么玩asp了,代碼只是參考來的,asp的沒測試過”。

我真的不想罵人,不熟你寫也就算了,起碼測試一下吧,沒有測試過的代碼你也好意思貼上來?后來在千一網(wǎng)絡(luò)(這個網(wǎng)絡(luò)貌似不錯)看到一個比較靠譜的答案,Referer在ASP和Ajax中是無法通過設(shè)置Header來更改的。

怒了,既然xmlhttp組件不行,我用socket來寫總行了吧!(注:不是所有電腦上都注冊了Winsock組件)

代碼如下:

Set socket = WScript.CreateObject("MSWinsock.Winsock","Winsock_")

socket.RemoteHost = "jb51.net"

socket.RemotePort = 80

socket.Connect

Do

WScript.Sleep 100

Loop

Sub Winsock_Connect()

data = "GET /test/referer.php HTTP/1.1" & vbCrLf &_

"Referer: http://jb51.net" & vbCrLf &_

"Host: jb51.net" & vbCrLf & vbCrLf

socket.SendData data

End Sub

Sub Winsock_DataArrival(bytesTotal)

socket.GetData str

WScript.Echo Utf8ToUnicode(str)

WScript.Quit

End Sub

Utf8ToUnicode函數(shù)比較長就不貼出來了,以前的文章寫過。測試結(jié)果如下:

代碼如下:

HTTP/1.1 200 OK

Date: Thu, 04 Nov 2010 14:05:20 GMT

Server: Apache

Transfer-Encoding: chunked

Content-Type: text/html

f

http://jb51.net

0

可以肯定偽造Referer成功了,但是返回的結(jié)果好像有點奇怪,jb51.net前面和后面一行的f和0是什么東西啊?(其實用瀏覽器訪問也是這樣返回的,只不過瀏覽器不顯示給我們看罷了)我猜想f是Referer字符串的長度,但是搜了半天也找不到解釋。不管了,偽造成功就行,結(jié)果難看點就難看點吧。

更多信息請查看腳本欄目
易賢網(wǎng)手機網(wǎng)站地址:VBS偽造HTTP-REFERER的實現(xiàn)方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

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

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