一、'\0'上传漏洞 + nc抓包上传:
整个流程上传漏洞主要就是利用'\0'字符漏洞,'\0'字符在系
统中被用作字符串结束的标志
基本原理就是网络程序虽然禁止了.asp等后缀名文件的上传,
但是都会允许.jpg或者.gif格式文件的上传。这样如果自己构造数据包
formPath=UploadFile/shell.asp'\0 '.jpg,那么'\0 '后面的字符将被截断,原因是计算机遇
到'\0'字符,认为字符串结束了。于是我们就向服务器上传了一个名为shell.asp的ASP木马程序,后面的就不多说了,
webshell的功能已经很强大了,入侵过程:
条件:需要至少NC、WinSock Expert、UltraEdit三个工具和一个webshell程序
nc.exe(netcat) - 一个变形了的telnet,嗅探器,网络安全届的军刀!WinSock Expert - 抓包工具,可以截获网络通讯的数据流
UltraEdit - ......不说了,无人不知无人不晓-_-!webshell - ASP、PHP等木马程序1.第一步,打开目标系统的上
传页面,通过WinSock Expert监视,上传webshell.asp文件,再打开WinSock Expert,将截获的数据流存为文本文件
(两个send下面的所有内容,包括回车产生的空白行)
2.通过UltraEdit修改文本文件中的关键代码:
filename="C:\test\webshell.asp" ,webshell.asp后加:1个空格及.jpg,然后跳到16进制编辑状态,修改16进制下空格
的20为00,Content-Length长度增加5。(一个字符算一个字节,' .jpg'一个5个字节)3.nc出场~!
指令:nc -vv www.xxx.com 80 < 1.txt
批注:此法貌似针对的是低版本iis.
二、明小子上传:这个不用多说,工具党的最爱。动易上传,动网上传等。关键是找到漏洞页面,
加以利用。上传类型通常为asp页面。(php,aspx之类的另算)几大cms的漏洞通杀,不可小视。
三、本地上传漏洞。js过滤了?没关系。本地构造一个上传页面exp,action直指上传页面便好。有时它会验证cookie。
没关系,wireshark或者直接Tamper data抓包修改便是,加密了就莫法了。感觉不如直接浏览器修改网页代码,且不如nc。
四、上传过滤:针对上传类型的过滤,一般会根据文件后缀进
行过滤。通常上传允许类型为jpg|png|gif|rar|tar|doc|txt|
等等。。
稍微总结了一下,有以下几种方法(欢迎大家补充):
1.iis6.0截断漏洞。
例子:将要上传的大马或者小马更名为 1.jpg;.asp 或者 1.jpg;.2.asp~有人说1.asp;.jpg之类的也行。。但我没成功过。那个囧啊。
。小小解释下。因为";"被iis6.0解析时产生了截断了。就不向后读了。所以判断类型为jpg.
2.二进制文件头判断上传类型。
UE打开已伪装成图片的大小马。。不知是哪个混蛋说的。直接记事本打开加不是更方便。。。
但还是在此附上一位不知名大能总结的文件头的标识。
{
1.JPEG/JPG
- 文件头标识 (2 bytes): $ff, $d8 (SOI) (JPEG 文件标识)
- 文件结束标识 (2 bytes): $ff, $d9 (EOI)
2.TGA
- 未压缩的前5字节 00 00 02 00 00
- RLE压缩的前5字节 00 00 10 00 00
3.PNG
- 文件头标识 (8 bytes) 89 50 4E 47 0D 0A 1A 0A
4.GIF
- 文件头标识 (6 bytes) 47 49 46 38 39(37) 61
G I F 8 9 (7) a
gif89a 有透明
gif87a 无透明
5.BMP
- 文件头标识 (2 bytes) 42 4D
B M
6.PCX
- 文件头标识 (1 bytes) 0A
7.TIFF
- 文件头标识 (2 bytes) 4D 4D 或 49 49
8.ICO
- 文件头标识 (8 bytes) 00 00 01 00 01 00 20 20
9.CUR
- 文件头标识 (8 bytes) 00 00 02 00 01 00 20 20
10.IFF
- 文件头标识 (4 bytes) 46 4F 52 4D
F O R M
11.ANI
- 文件头标识 (4 bytes) 52 49 46 46
R I F F
根据这些文件头标识的收集,我可以写一个识别图像格
式的模块了。但是在写这个模块之前可以对收集到的文件头标
识进行优化,使得程序中字符串比对次数尽量的少。
1.JPEG我们知需要比对文件头的$ff, $d8这两个字符,而不用
读取最后的两个结束标识了。
2.TGA,ICO,CUR只需比对第三个与第五个字符即可。
3.PNG比对[89][50]这两个字符。
4.GIF比对[47][49][46]与第五个字符。
废话不多说了,利用内存流来判断文件的格式,其实判断文件
的前几个字节就可以简单的判断这个文件是什么类型的文件,
例如
jpg文件 是 FFD8 (从低位到高位就要反过来 D8FF 下面都是
一样)
BMP文件 是 424D ---4D42
}
额,就是这般,修改二进制文件头。或者记事本直接添加代码即可
。大多数时候这种上传检测不会检查后缀了。但也不乏一些变态网站。。
3.后台上传备份。
如果你已经拿到了后台,并且有数据库路径备份。那么恭喜你
,已经成功了一半。先上传。肿么上传我就不废话了。见上文。然后找到备份数据库处,将备份路径改为我们的马儿的路径。
备份文件名后缀都可以改。ok。接下来的东西你懂得。。
4.后台模版单页修改上大马。
还是利用iis6.0的截断漏洞。不过这次是修改单页内容。要文件名可改才行。
举个例。1.asp;1.html...
5.正常文件中插一句话?
一般而言,后台插一句话,如果数据库扩展名是asp的话,那么插数据库,但是如果有配置文件可以插的话,那肯定是插入
配置文件了,但是插入配置文件有一个很大的风险,那就是一旦出错那么全盘皆输,有可能不仅仅造成后台无法登陆,甚至
有可能是整个网站系统崩溃,所以插入配置文件,请慎之又慎。插入时,有时有过滤,这时分下网页源码。估计是单引号过滤
或者<>闭合等问题,不一而论。这里便不作详细分析了。
PS:数据库插一句话的话有时文件大了菜刀就连不上。灰常蛋疼。
6.远程命令执行oday利用
这个这个。没法举例子啊。以后有机会再举吧。
7.编辑器上传漏洞
常见网站的编辑器:
ewebeditor
ewebeditornet
fckeditor
editor
southidceditor
SouthidcEditor
bigcneditor
至于详细漏洞,凭经验看清版本后,找谷哥和度娘去。。各种不解释。