ASP小偷程序如何利用XMLHTTP实现表单的提交
所属分类:
网络编程 / AJAX相关
阅读数:
1463
收藏 0赞 0分享
[原创]ASP小偷程序如何利用XMLHTTP实现表单的提交以及cookies或session的发送
利用XMLHTTP来制作小偷的具体细节落伍很多人都发过和讨论过了,但是在制作ASP小偷的过程中,很多人就发现ASP小偷不如PHP小偷的那么强
大了。确实,如果在原网站如果存在表单提交或cookies的验证,对于ASP来说,不使用基于SOCKET的组件就难以完成,其实,XMLHTTP的另外两
个方法被我们忽略了,而这正是问题的关键。
下面首先来说说这个方法
1。.send()
由于流行的小偷是使用的GET而不是POST来传送数据,所以很多人忽略了这个方法,而使用SEND发送数据也很简单,就是SEND("内容"),可是,
发送表单就不是这么简单,因为你发送的表单如果是中文的话,就要牵扯到编码的问题了。
首先,你在OPEN 时要确定是用POST 即 .open("POST",地址,是否异步)
然后,在SEND里面加上你表单的内容,比如说,你要提交的表单有3个表单域,分别是A,B,C,对应的值分别是1,2,3,那么,你在SEND里这
样写就可以提交表单了,.send("A=1&B=2&C=3"),怎么样,很简单吧,是不是没想到呢?但是别高兴的太早了,我前面说到了,如果表单的值是
中文的话,数据传输的就会出错了。这里我们借助一个函数escape(),熟悉JAVASCRIPT的朋友都应该知道这个函数的作用了,现在VBSCRIPT同样支持这个函数。.send("A=escape('值1')&B=escape('值2')&C=escape('值3')")
2。.setRequestHeader()
接着上面的所说,你的数据send出去了,对方却不会接收到,为什么了,其实,那是因为你的HTTP头少了一个东西,然后用这个函数把加上去就可以了,具体就是.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded"), 告诉对方你是提交了一个urlencode编码的表单。
好的,说完了表单的提交来说怎么传送cookies和session
[ Last edited by 墨鼠 on 2005-4-13 at 13:20 ]
其实传送cookies也很简单了,同样利用这个函数在HTTP头里添加东西,比如,我当前在落伍的cookies是
cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145
现在我要发送这个cookies就直接是.setRequestHeader("Cookie","cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145")
当然,有些网站页面有页面判断功能,这个也不难,就是.setRequestHeader("Referer","来路的绝对地址")
这里还有个重要问题,就是这个方法由于是写HTTP头的,所以不能更改现有的HTTP头,对于怎么用asp获取对方页面的cookies或session并且发出去,就下次在发文说明,请先给个精华吧。
为了偶的墨猫MM,写的累死了:cool:
use xmlhttp's getResponseHeader and setRequestHeader method
Dim logxml, idpw, postxml, info, cookie
idpw="id=abc&pw=pass"
Set logxml = Server.CreateObject("Microsoft.XMLHTTP")
logxml.Open "POST", "http://myserver/login", False
logxml.Send idpw
cookie = logxml.getResponseHeader("Set-Cookie")
info="title=hello&content=world"
Set postxml = Server.CreateObject("Microsoft.XMLHTTP")
postxml.Open "POST", "http://myserver/post", False
postxml.setRequestHeader("Cookie",cookie)
postxml.Send
理解jquery ajax中的datatype属性选项值
jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字符串处理。
收藏 0赞 0分享
通过Ajax两种方式讲解Struts2接收数组表单的方法
使用struts2表单传值,可以传一个或者是作为一个对象的各个属性传,都非常灵活便捷。但是如果我们需要传一个数组并希望struts正确接收,该怎么处理呢?接下来,通过本文给大家介绍通过Ajax两种方式讲解Struts2接收数组表单的方法,需要的朋友可以参考下
收藏 0赞 0分享
基于Jquery.history解决ajax的前进后退问题
本文主要给大家介绍基于Jquery.history解决ajax的前进后退问题,涉及到jquery前进后退相关方面的知识,本文内容经典,非常具有参考价值,特此把jquery前进后退相关知识分享在脚本之家网站供大家参考
收藏 0赞 0分享
谈谈你对aja的理解(一、二)
Ajax是Asynchronous Javascript And XML的缩写,其作用通过Ajax可以使用Javascript语句来调用XMLHttpRequest对象,直接与服务器进行通讯,可以在不重载页面的情况下与服务器交换数据。
收藏 0赞 0分享
关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结
最近比较空闲,于是抽个时间整理些关于ajax方法的东东。在项目中经常发现ajax板块好多问题都是属性,方法,事件大小写不区分问题,最终导致了程序运行出现麻烦,下面给大家介绍关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结
收藏 0赞 0分享
Ajax请求session失效该如何解决
HTML + Servlet + Filter + jQuery 一般来说我们的项目都有登录过滤器,一般请求足以搞定。但是AJAX却是例外的,所以解决方法是设置响应为session失效。
收藏 0赞 0分享
编写轻量ajax组件02--浅析AjaxPro
ajaxpro虽然是一个比较老的组件,不过实现思想和源码还是很有借鉴价值的。接下来通过本篇文章给大家介绍编写轻量ajax组件02--浅析AjaxPro,感兴趣的朋友可以参考下
收藏 0赞 0分享
查看更多