这只是个小测试,验证一下自己的想法。# U j7 h2 E4 o+ D- q8 I
很早的时候,就遇到过服务器不允许POST的情况: T' s8 a4 X. R
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。+ k" U: e6 o" G/ D0 }" m# |) p; l
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?# e0 i6 a' I7 |6 K' I
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。& o5 Y" G8 B" r# n0 N
今晚不是很忙,就写出来测试结果。
3 S/ P7 F3 `; K1 J+ y; K4 B$ @) ? q6 o4 r在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
5 {) N: q0 @+ s( ^! m5 }先来写个eval的一句话,然后用GET向他提交数据% ~6 M) x4 }7 b4 J* v. i' S" E
* z3 p5 D" v# |+ t5 U
|; f# y* j5 j" h. _% l& Q+ y
! R0 p( q% ]+ E9 ^- L* h
: L! d, f# {! ]) |6 Y% h6 B; a( V2 a* C; {
8 m/ E" @+ E! W$ |, H
- R% {, S6 C( v9 H g9 q# i) o
' ~$ g) n5 p. D: a4 Y7 h$ p3 D) d+ N6 ], s' t$ f
+ U! J& C3 n( V) s$ O5 J& f! C: Y
r8 P9 }: H' k% |
) K) [1 J5 H4 T; n# ~: O7 n$ M7 Z0 D0 \- }; n# a% m" x' F
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
1 D) u3 s d5 ^; L" r% L
# b6 F4 T& x$ Q S; X
, j/ ~1 Y; v' a, o9 k; |+ D9 m$ j: h
( l: L* I/ O& c2 i6 ]
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:6 z' {7 F& R7 @- M. _
' W! `; T1 v0 a$ q- o, H1 ~$ T
( M( B' y6 I( W" C0 W. C, w- j9 q, m4 _
# t( ?" j8 @2 q$ ?
6 k+ {0 p9 o+ Y* G H3 u( k) s8 K
* G7 @) ?- x3 e* c' q
" U* K) f# }5 J) K看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试: v5 d; O- s5 K% c0 d k
* `8 p# I, V+ ^* B( k. b1 N. Q7 Y7 ]0 m
/ ?( U- ]' J- d6 C# S1 T* K
) K5 w, C5 S5 o$ u/ t8 Z1 c8 E ~* r& p$ Q6 c3 @
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |