安全中国首页 > 文章中心 > 其他漏洞研究
 
十三Webshell终结版后门的发现之旅(图)
更新时间:2007-12-14 0:46:10
责任编辑:池天
热 点:
自从上次从网上找了个WebShell管理网站,后来发现有后门, 被人挂马了,数据库被破坏了,至今还没修复……所以对别人的WebShell格外小心。网上找了个十三WEBSHELL终结版生成器,如图



    下面我们来生成一个ASP WebShell,生成后的WebShell是加密的,这个解密直接用工具了,就不详述,解密后代码如图132.JPG

    看看代码, 还是加密的,从代码中很容易可以看到他的解密函数是SinfoEn,那么我们就来解密出来,解密的代码已经有人写出来了。

下面是冰点极限论坛上贴出来的解密代码:
===============================decode.asp=====================================
<%
Pos=2 '解密固定值
Function Fun(ShiSanObjstr)
ShiSanObjstr=Replace(ShiSanObjstr,"|","""")
For ShiSanI=1 To Len(ShiSanObjstr)
If Mid(ShiSanObjstr,ShiSanI,1)<>"!" Then
ShiSanNewStr=Mid(ShiSanObjstr,ShiSanI,1)&ShiSanNewStr
Else
ShiSanNewStr=vbCrLf&ShiSanNewStr
End If
Next
Fun = ShiSanNewStr
End Function

Function SinfoEn(ObjStr,ObjPos)
ObjStr=Replace(ObjStr,"~","""")
NewStr=Split(ObjStr,"`")
For i=0 To UBound(NewStr)
SinfoEn=SinfoEn&EnCode(NewStr(i),ObjPos)&vbCrLf
Next
SinfoEn=Left(SinfoEn,Len(SinfoEn)-2)
End Function

Function EnCode(ObjStr,ObjPos)
Dim NewStr,TmpStr,i,LenStr
LenStr=Len(ObjStr)
For i=0 To Int(LenStr/ObjPos)-1
TmpStr=Mid(ObjStr,i*ObjPos+1,ObjPos)&TmpStr
Next
EnCode=TmpStr&Right(ObjStr,LenStr Mod ObjPos)
End Function
data=request.form("x")
if data="" then data="nothing"
response.write "<form method='post'>"
response.write "<textarea name='x' cols='80' rows='30'>"
response.write Server.HTMLEncode(SinfoEn(data,Pos))
response.write "</textarea>"
response.write "<input type='submit' name='Submit1' value=' 提交 '>"
response.write "<input type='reset' name='Submit32' value=' 重置 '>"
response.write "</form>"
%>

===============================end==========================================

    现在就直接解密,解密后的代码如133.jpg,按照普通的搜索后门的方法,当然是搜索如HTTP之类的代码,我搜索了一遍,没有发现可疑的代码。搜索关键子:UserPass,看看它的密码验证代码:
if session("web2a2dmin")<>UserPass then
if request.form("pass")<>"" then
if Serinf(request.form("pass"),pn)=UserPass then
session("web2a2dmin")=UserPass
response.redirect url
else
rrs"非法登录"
end if
else
si="<center><div style='width:500px;border:1px solid #222;padding:22px;margin:100px;'><a href='"&SiteURL&"' target='_blank'>"&mname&"</a><hr><form action='"&url&"' method='post'>密码:<input name='pass' type='password' size='22'> <input type='submit' value='登录'></form><hr>"&Copyright&"</div> </center>"
RRS sI
end if
response.end

1 2 下一页

 
相关文章
48小时热门文章
 
一日一软件
一日一动画