VBS伪造HTTP-REFERER的实现方法_vbs

在测试目录写了一个简单的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调用msxml2.xmlhttp组件访问这个页面,返回的却是No Referer。实在匪夷所思,难道我的代码写错了?

于是Google了一下“VBS伪造HTTP REFERER”,发现搜出来的内容大部分和这篇文章一样,不用看又是复制粘贴,你抄我的,我抄你的,抄来抄去不知道到底是谁的,而且还是错的!
那篇文章第一个例子是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测试,发现返回的照样是No Referer。后来才看到下面的留言,“原谅我对asp不熟,给不了你什么帮助,自己查点其他资料参考一下吧”,“这我没怎么玩asp了,代码只是参考来的,asp的没测试过”。

我真的不想骂人,不熟你写也就算了,起码测试一下吧,没有测试过的代码你也好意思贴上来?后来在千一网络(这个网络貌似不错)看到一个比较靠谱的答案,Referer在ASP和Ajax中是无法通过设置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函数比较长就不贴出来了,以前的文章写过。测试结果如下:

复制代码 代码如下:

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成功了,但是返回的结果好像有点奇怪,jb51.net前面和后面一行的f和0是什么东西啊?(其实用浏览器访问也是这样返回的,只不过浏览器不显示给我们看罢了)我猜想f是Referer字符串的长度,但是搜了半天也找不到解释。不管了,伪造成功就行,结果难看点就难看点吧。
原文:http://demon.tw/programming/vbs-http-referer.html

时间: 2024-11-17 20:39:11

VBS伪造HTTP-REFERER的实现方法_vbs的相关文章

VBS加密与VBE解密实现方法_vbs

用Script Encoder加密VBS脚本 Script Encoder 是一个简单的命令行工具,脚本设计者可使用此工具对他们的最终脚本进行编码,从而使 Web 主机和 Web 客户端无法查看或更改其源代码.注意,这种编码只能防止对您代码的一般性浏览,而无法防止专业黑客查看您的代码和实现方式. 这其实并不是加密(encrypt)而仅仅是编码(encode),只不过乍一看是乱码,好像被加密过一样.使用方法很简单,安装目录有帮助手册,上面写得很清楚,在这里举一个最简单的用法,使用下面的命令加密ex

最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS代码简单解析和解决方法_vbs

最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS 及代码分析与病毒处理两种方法 方法一:来自于指间轻舞 此病毒最大的特点在于中毒后,自动感染你的硬盘根目录,并复制病毒文件.无论你是采用双击,还是右键选择打开,或者运行资源管理器都会自动运行其代码(病毒),所以中此病毒后,新手往往打不开盘符,导致数据无法读取. 下面是病毒的代码分析 文件总共有三个 都很简单,已经加上了注解. 文件名:autorun.inf 复制代码 代码如下: [autorun]  open=  shell

使用 Iisext.vbs 列出Web服务扩展的方法_vbs

应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1 可使用命令行脚本 iisext.vbs(存储在 systemroot\system32 中)列出所有已定义的 Web 服务扩展的 ID.这些扩展必须驻留在运行带有 IIS 6 的 Windows Server 2003 家族的成员的计算机上. Iisext.vbs 执行可用于 IIS 管理器的相同的操作.您可以使用任一工具来管理 IIS 网

vbs sendmail发邮件带附件方法_vbs

NameSpace = "http://schemas.microsoft.com/cdo/configuration/" Set Email = CreateObject("CDO.Message") Email.From = "zzzevazzz@21cn.com" Email.To = "zzzevazzz@126.com" Email.Subject = "Test sendmail.vbs" Em

使用 iisftpdr.vbs 创建 FTP 虚拟目录的方法_vbs

应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1 可以使用命令行脚本 iisftpdr.vbs(存储在 systemroot\System32\ 中)在运行带有 IIS 6.0 的 Windows Server 2003 家族成员的本地或远程计算机上创建新的 FTP 虚拟目录.该命令不创建或破坏内容,而只是简单地设置虚拟目录结构和 IIS 配置文件. 在使用 iisftpdr.vbs 创建

使用 iisext.vbs 禁用 Web 服务扩展的方法_vbs

应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1 可以使用命令行脚本 iisext.vbs(存储于 systemroot\system32 中),通过禁用所有具有特定 Web 服务扩展 ID 的文件来禁用 Web 服务扩展.该命令可在运行带有 IIS 6.0 的 Windows Server 2003 家族的成员的本地或远程计算机上执行. Iisext.vbs 执行可用于 IIS 管理器的

使用 Iisext.vbs 启用Web服务扩展的方法_vbs

应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1 可以使用命令行脚本 iisext.vbs(存储于 systemroot\system32 中)启用 Web 服务扩展.Web 服务扩展在 WebSvcExtRestrictionList Metabase Property中必须至少有一个文件与之关联.该命令可在运行带有 IIS 6.0 的 Windows Server 2003 家族的成员

VBS操作Excel常见方法_vbs

dim oExcel,oWb,oSheet Set oExcel= CreateObject("Excel.Application") Set oWb = oExcel.Workbooks.Open("E:\其他\新装电话表.xls") Set oSheet = oWb.Sheets("Sheet1") MsgBox oSheet.Range("B2").Value '#提取单元格B2内容 '..... 3.如果是XP系统,可

VBS脚本病毒原理分析与防范_vbs

网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候.当您收到一封主题为"I Love You"的邮件,用兴奋得几乎快发抖的鼠标去点击附件的时候:当您浏览一个信任的网站之后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒已经闯进了您的世界呢?2000年5月4日欧美爆发的"爱虫"网络蠕虫病毒.由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑.微软.Intel等在内的众多大型企业网络系统瘫痪,全球经济损失达几十亿美元.而去年爆发的新欢