ASP小偷程序如何利用XMLHTTP實(shí)現(xiàn)表單的提交
更新時間:2006年07月28日 00:00:00 作者:
[原創(chuàng)]ASP小偷程序如何利用XMLHTTP實(shí)現(xiàn)表單的提交以及cookies或session的發(fā)送
利用XMLHTTP來制作小偷的具體細(xì)節(jié)落伍很多人都發(fā)過和討論過了,但是在制作ASP小偷的過程中,很多人就發(fā)現(xiàn)ASP小偷不如PHP小偷的那么強(qiáng)
大了。確實(shí),如果在原網(wǎng)站如果存在表單提交或cookies的驗(yàn)證,對于ASP來說,不使用基于SOCKET的組件就難以完成,其實(shí),XMLHTTP的另外兩
個方法被我們忽略了,而這正是問題的關(guān)鍵。
下面首先來說說這個方法
1。.send()
由于流行的小偷是使用的GET而不是POST來傳送數(shù)據(jù),所以很多人忽略了這個方法,而使用SEND發(fā)送數(shù)據(jù)也很簡單,就是SEND("內(nèi)容"),可是,
發(fā)送表單就不是這么簡單,因?yàn)槟惆l(fā)送的表單如果是中文的話,就要牽扯到編碼的問題了。
首先,你在OPEN 時要確定是用POST 即 .open("POST",地址,是否異步)
然后,在SEND里面加上你表單的內(nèi)容,比如說,你要提交的表單有3個表單域,分別是A,B,C,對應(yīng)的值分別是1,2,3,那么,你在SEND里這
樣寫就可以提交表單了,.send("A=1&B=2&C=3"),怎么樣,很簡單吧,是不是沒想到呢?但是別高興的太早了,我前面說到了,如果表單的值是
中文的話,數(shù)據(jù)傳輸?shù)木蜁鲥e了。這里我們借助一個函數(shù)escape(),熟悉JAVASCRIPT的朋友都應(yīng)該知道這個函數(shù)的作用了,現(xiàn)在VBSCRIPT同樣支持這個函數(shù)。.send("A=escape('值1')&B=escape('值2')&C=escape('值3')")
2。.setRequestHeader()
接著上面的所說,你的數(shù)據(jù)send出去了,對方卻不會接收到,為什么了,其實(shí),那是因?yàn)槟愕腍TTP頭少了一個東西,然后用這個函數(shù)把加上去就可以了,具體就是.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded"), 告訴對方你是提交了一個urlencode編碼的表單。
好的,說完了表單的提交來說怎么傳送cookies和session
[ Last edited by 墨鼠 on 2005-4-13 at 13:20 ]
其實(shí)傳送cookies也很簡單了,同樣利用這個函數(shù)在HTTP頭里添加?xùn)|西,比如,我當(dāng)前在落伍的cookies是
cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145
現(xiàn)在我要發(fā)送這個cookies就直接是.setRequestHeader("Cookie","cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145")
當(dāng)然,有些網(wǎng)站頁面有頁面判斷功能,這個也不難,就是.setRequestHeader("Referer","來路的絕對地址")
這里還有個重要問題,就是這個方法由于是寫HTTP頭的,所以不能更改現(xiàn)有的HTTP頭,對于怎么用asp獲取對方頁面的cookies或session并且發(fā)出去,就下次在發(fā)文說明,請先給個精華吧。
為了偶的墨貓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
利用XMLHTTP來制作小偷的具體細(xì)節(jié)落伍很多人都發(fā)過和討論過了,但是在制作ASP小偷的過程中,很多人就發(fā)現(xiàn)ASP小偷不如PHP小偷的那么強(qiáng)
大了。確實(shí),如果在原網(wǎng)站如果存在表單提交或cookies的驗(yàn)證,對于ASP來說,不使用基于SOCKET的組件就難以完成,其實(shí),XMLHTTP的另外兩
個方法被我們忽略了,而這正是問題的關(guān)鍵。
下面首先來說說這個方法
1。.send()
由于流行的小偷是使用的GET而不是POST來傳送數(shù)據(jù),所以很多人忽略了這個方法,而使用SEND發(fā)送數(shù)據(jù)也很簡單,就是SEND("內(nèi)容"),可是,
發(fā)送表單就不是這么簡單,因?yàn)槟惆l(fā)送的表單如果是中文的話,就要牽扯到編碼的問題了。
首先,你在OPEN 時要確定是用POST 即 .open("POST",地址,是否異步)
然后,在SEND里面加上你表單的內(nèi)容,比如說,你要提交的表單有3個表單域,分別是A,B,C,對應(yīng)的值分別是1,2,3,那么,你在SEND里這
樣寫就可以提交表單了,.send("A=1&B=2&C=3"),怎么樣,很簡單吧,是不是沒想到呢?但是別高興的太早了,我前面說到了,如果表單的值是
中文的話,數(shù)據(jù)傳輸?shù)木蜁鲥e了。這里我們借助一個函數(shù)escape(),熟悉JAVASCRIPT的朋友都應(yīng)該知道這個函數(shù)的作用了,現(xiàn)在VBSCRIPT同樣支持這個函數(shù)。.send("A=escape('值1')&B=escape('值2')&C=escape('值3')")
2。.setRequestHeader()
接著上面的所說,你的數(shù)據(jù)send出去了,對方卻不會接收到,為什么了,其實(shí),那是因?yàn)槟愕腍TTP頭少了一個東西,然后用這個函數(shù)把加上去就可以了,具體就是.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded"), 告訴對方你是提交了一個urlencode編碼的表單。
好的,說完了表單的提交來說怎么傳送cookies和session
[ Last edited by 墨鼠 on 2005-4-13 at 13:20 ]
其實(shí)傳送cookies也很簡單了,同樣利用這個函數(shù)在HTTP頭里添加?xùn)|西,比如,我當(dāng)前在落伍的cookies是
cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145
現(xiàn)在我要發(fā)送這個cookies就直接是.setRequestHeader("Cookie","cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145")
當(dāng)然,有些網(wǎng)站頁面有頁面判斷功能,這個也不難,就是.setRequestHeader("Referer","來路的絕對地址")
這里還有個重要問題,就是這個方法由于是寫HTTP頭的,所以不能更改現(xiàn)有的HTTP頭,對于怎么用asp獲取對方頁面的cookies或session并且發(fā)出去,就下次在發(fā)文說明,請先給個精華吧。
為了偶的墨貓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
相關(guān)文章
基于Blod的ajax進(jìn)度條下載實(shí)現(xiàn)示例代碼
本篇文章主要介紹了基于Blod的ajax進(jìn)度條下載實(shí)現(xiàn)示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02配合AJAX天氣預(yù)報的webService 之a(chǎn)sp
配合AJAX天氣預(yù)報的webService 之a(chǎn)sp...2007-01-01js實(shí)現(xiàn)ajax分頁完整實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)ajax分頁,以完整實(shí)例形式詳細(xì)分析了ajax分頁的具體步驟與實(shí)現(xiàn)技巧,代碼備有詳盡的注釋便于理解,需要的朋友可以參考下2016-04-04利用AJAX開源項(xiàng)目 在網(wǎng)頁里播放視頻實(shí)現(xiàn)方法
下載videobox 1.1.zip把它解壓到asp.net項(xiàng)目的目錄下,并用“Add New Item”新建一個Html文件用以播放視頻。2008-11-11