ASP小偷程式如何利用XMLHTTP實現表單的提交

來源:互聯網
上載者:User

[原創]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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.