使用 WinHttpRequest 伪造 Referer (附实战代码)

日期:2010-08-06,23:32(星期五) 评论:3 分类:前端开发 点击:376
首先说明,伪造访问来路不是什么光明正大的事情,目的就是为了欺骗服务器。原本以为给 XMLHTTP 对象增加一个 Referer 的header 就可以,结果却没有任何作用,改用 ServerXMLHTTP 也如此。

无意间发现公司内部项目使用的 paypal 扣款程序里面有 WinHttp.WinHttpRequest.5.1 对象,它负责把客户的信用卡信息提交到 paypal 的服务器,看来是一个核心的远程访问方法,google一下发现它居然用可以成功伪造所有 http 请求的 header 信息!下面的代码通过伪造 referer 的值,假装从百度首页提交一个表单到指定的 url 去:
var url = "http://www.yourtarget.com";
var param = "name=david&age=30";
var obj = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
obj.Open("POST", url, false);
obj.Option(4) = 13056;
obj.Option(6) = false; //false可以不自动跳转,截取服务端返回的302状态。
obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
obj.setRequestHeader("Referer", "http://www.baidu.com");
obj.Send(param);
WScript.Echo(obj.responseText);
查看详细»

JavaScript 给汉字排序

日期:2008-04-25,11:07(星期五) 评论:0 分类:前端开发 点击:544
数组的 sort 方法默认字符的编码排序,有时候要给一组汉字排序,默认的方法就不适用了。比如
var arr = ["中","华","人","民","共","和","国"]
在执行 sort 方法后结果为 :中,人,共,华,和,国,民,既不是拼音也不是笔划数量的排序。
以前很少留意过 localeCompare 方法,手册中说它执行时返回一个值,指出在当前的区域设置中两个字符串是否相同。返回值有三种:-1,0,1,刚好是 sort 方法参数所需要的类型。把 localeCompare 应用到 sort 方法中去,看看结果:
var arr = ["中","华","人","民","共","和","国"];
alert(arr.sort(function(a,b){return a.localeCompare(b)}));//结果为:共,国,和,华,民,人,中(拼音升序)
查看详细»

分享自己写的一个小型 js 框架:myJSFrame (附 API 开发文档)

日期:2007-07-17,10:42(星期二) 评论:3 分类:前端开发 点击:964

myJSFrame 是一款小巧微型的 JavaScript 框架,它有 prototype 的风格,又兼有 JQuery 的味道,它的特点是体积小(目前为17k),使用方便。

它在一定程度上改变了传统的 JavaScript 编程风格。它还能识别 CSS 代码,它增加了 DOM 方法,扩展了 String 与 Array 原型对象,模拟  StringBuffer、NameSpace 类,支持操作 Cookie,浏览器检测。当然,Ajax 还是它的强项,$ 函数支持的 CSS 选择符也不弱 ……

下载 myJSFrame (0.2.1.6)

API 开发文档

查看详细»