VBS伪造HTTP-REFERER(二)

2011年03月19日   By Demon   19,477 views

曾经写过一篇《VBS伪造HTTP-REFERER》,是用Winsock控件实现的,这个控件系统默认是没有安装的。还是那句话,这种没有可移植性的代码还是少写的好。我的理念是,“一旦写成处处可用”(听起来好像Java)。

今天无意中发现还有WinHttp.WinHttpRequest.5.1这个COM,功能看起来和Msxml2.XMLHTTP差不多。测试了一下,可以在HTTP请求中发送Referer。

Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
http.Open "GET","https://demon.tw/test/referer.php",False
http.SetRequestHeader "Referer","https://demon.tw"
http.Send
WScript.Echo http.responseText

最后,再次鄙视一下那些测试都不测试就随便复制粘贴的(Google一下“ASP伪造REFERER”,你就知道)。

参考链接:WinHttpRequest Object

VBS发送带Cookie的HTTP请求

2011年03月18日   By Demon   40,133 views

在昨天的《使用正确版本的XMLHTTP》中卖了个关子,ServerXMLHTTP的功能比XMLHTTP强大,你现在大概已经猜到了吧。没错,用ServerXMLHTTP可以在HTTP请求头中加入Cookie,而XMLHTTP不可以。

为了方便测试,先写一个回显Cookie的简单的PHP程序:

<?php
foreach($_COOKIE as $key => $value)
    echo "$key => $value\r\n";
?>

阅读这个条目剩下部分 »

使用正确版本的XMLHTTP

2011年03月17日   By Demon   29,141 views

说起XMLHTTP,相信你一定不会陌生,当前大红大紫的AJAX技术的核心所在。我在这里不讨论AJAX,也不讨论JavaScript,而是讨论VBScript。

我枚举了一下,在我的系统(Windows7)中,以下ProgID都可以创建XMLHTTP对象:

Microsoft.XMLHTTP
Microsoft.XMLHTTP.1.0
Msxml2.ServerXMLHTTP
Msxml2.ServerXMLHTTP.3.0
Msxml2.ServerXMLHTTP.4.0
Msxml2.ServerXMLHTTP.5.0
Msxml2.ServerXMLHTTP.6.0
Msxml2.XMLHTTP
Msxml2.XMLHTTP.3.0
Msxml2.XMLHTTP.4.0
Msxml2.XMLHTTP.5.0
Msxml2.XMLHTTP.6.0

不同的版本有什么区别呢?Google告诉你答案:

阅读这个条目剩下部分 »

Ubuntu下配置VPN服务器

2011年03月15日   By Demon   31,126 views

一直都想搭建个VPN Server来玩玩,但是总觉得很麻烦。今天看到Kaisir写的《Ubuntu Server下建立VPN服务器》,按捺不住,也尝试着建了一个,似乎没有想象中的复杂。

Kaisir的文章我也看了,但是好像最后还少了一步iptables的设置。我主要参考的是《单网卡 Ubuntu 服务器打造 PPTP Server》,看到作者在最后说他的文章被大大小小无数网站抄袭,想想自己写的也经常被抄袭,不免有点感同身受。中国的网络就是如此,也没什么好说的。鉴于作者不欢迎转载,我就不复制粘贴了,感兴趣的自己去看原作吧。

用C语言实现PHP的addslashes函数

2011年03月14日   By Demon   13,847 views

最近几天看了一下《SQL Injection Attacks and Defense》,并对学校的网站做了一下测试,发现学校的网站真是漏洞百出。同时也发现,在ASP、ASP.NET、JSP、PHP等常见服务端中,PHP中的SQL注入漏洞是最少的(至少我们学校的是这样)。

这也没什么好奇怪的,稍有常识的人都知道,PHP配置文件中有一个magic_quotes_gpc选项,默认为on,会对$_GET、$_POST、$_COOKIE进行addslashes处理,把敏感字符过滤掉。这样,即使是一个没有安全意识的新手写出来的代码,也不太容易出现SQL注入。

所以特意在PHP的C源码中搜索了一下阻碍我SQL注入的“罪魁祸首”addslashes函数的实现。在PHP源码的ext/standard/string.c中,我稍微整理了一下:

阅读这个条目剩下部分 »