千家信息网

VBS如何伪造HTTP-REFERER

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍了VBS如何伪造HTTP-REFERER,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在测试目录写了一个简单的refe
千家信息网最后更新 2025年02月04日VBS如何伪造HTTP-REFERER

这篇文章主要介绍了VBS如何伪造HTTP-REFERER,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

在测试目录写了一个简单的referer.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字符串的长度,但是搜了半天也找不到解释。不管了,伪造成功就行,结果难看点就难看点吧。

感谢你能够认真阅读完这篇文章,希望小编分享的"VBS如何伪造HTTP-REFERER"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

代码 篇文章 测试 组件 结果 页面 参考 难看 成功 浏览器 网络 链接 面的 帮助 浏览 不行 不错 匪夷所思 为此 一行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 联想服务器bios开启键盘 安装数据库后如何清空密码 戴尔l1000服务器 博皇网络技术有限公司电话 王者显示服务器爆满怎么弄 有个网络技术叫什么翰清 软件开发服务采购的原因 服务器的部署 软件开发上海和深圳有限公司 近年来的网络安全漏洞 网络安全联盟怎么解除 人教版 高二网络技术应用 逃离塔科夫哪些服务器挂少 服务器安装安全狗支付出错 谷歌市场从服务器检索信息时出错 机器学习视频数据库 企业零售系统使用的数据库类型 软件开发可行性文档分析 深圳市蓝思网络技术有限公 实时数据库领域有哪些 高中学生网络安全教育内容 揭阳虚拟服务器管理软件 浙江移动城管软件开发公司 杭州魔盒网络技术有限公司 日志服务器分析 切换服务器不用会怎么样 东阳的网络技术公司 网络安全管理人员政审 Epon无源光网络技术 档案管理系统与数据库的区别
0