这只是个小测试,验证一下自己的想法。) S$ N, {. H, _3 R# B# e4 i
很早的时候,就遇到过服务器不允许POST的情况9 P* P; a: |/ ~, @
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
6 T: S2 d( D5 V这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
$ c4 O D6 ~% c于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
/ q* t' p. w, \% O* O今晚不是很忙,就写出来测试结果。
5 c" W, H) e6 c/ O4 ^在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
! L0 g2 T8 I0 \5 D3 Y( g$ i先来写个eval的一句话,然后用GET向他提交数据' r% f( {7 Z" V! t+ e, O
9 m8 C9 I) p! k8 b) |* N7 P
1 _' \3 Y4 ~1 a7 e, M
6 U1 s& G- p/ b/ g
% o6 y6 f9 H6 w# ?; ~ j. A( U4 f( u0 }8 R- c' Y
( {7 O$ _! o! [8 `# Y4 K) `7 N; Q( I3 p3 N/ u+ b& G
& j6 O+ J/ W1 _/ g; v+ _, s: |9 n6 B+ V f
" Y% E' Q/ ~6 k% G+ Q/ w
+ ]) |/ Y' \' u. J: J. m
% |% F; U0 g& J; _9 z1 H6 L8 w& K
& o2 ^2 U2 _0 S* |提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:6 L9 j) i( v: r4 k8 m& Z) x
3 C; [) f9 f. v) a
7 k& G. \* d: W. T& t$ v
/ k& h7 {! J2 [& F4 p8 @1 h% k5 Z( G8 O: E& ^; L
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
6 o% [4 \$ L+ ~/ L
b0 o5 L- \4 @/ n- V, ~" `& K3 @9 p8 L. b! W
" U3 J8 m) U: F/ m7 }
4 V* y$ P5 F3 H% t3 |& G! k
* ^3 s9 q" q$ Y8 A
# Q' ?1 b* a7 Q
5 R6 r& N+ }+ R看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
1 N# s0 E2 q- o: g0 r
/ |) k9 D X- f8 X
" S9 e9 o6 A* K- R' y. z/ A& U6 ^% z, A) W- B, c. [; X( u* f; C
2 e5 \5 p& f4 T0 {9 {. z4 Y
. R% z7 D2 @; T4 O
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |