这只是个小测试,验证一下自己的想法。( b& o+ X% w2 q. D4 m: L9 F: n
很早的时候,就遇到过服务器不允许POST的情况( j/ T; ?$ e! D& ?; H( _
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
( n- p7 e( B) |8 T0 d( H( r这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
- e3 n/ U K9 X) U. o: C于是我就寻思着用GET的方式向刚才导出的一句话提交数据。' @5 `* b7 D, B# E! Q/ o$ H, w2 B* i
今晚不是很忙,就写出来测试结果。4 }" R! R, J0 I1 N
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。( h* d# v. z' H' I" |% f' x4 q/ {
先来写个eval的一句话,然后用GET向他提交数据* ]2 S. }+ U4 X9 j/ F4 p2 h
+ M H1 e* C Z
+ |4 T7 Y8 d0 }1 p* B0 q+ f( I
4 E3 G9 z1 T( X
& j/ Y7 @$ K4 P( V5 w
% m; G! [2 a) k5 Z* v/ C+ A0 A- ?+ j7 c
' `- r7 ~7 D; z4 x# p$ d# I( q
% |2 t1 y9 f, \
1 Y/ c# |. C+ M6 X3 o
1 c# ]4 l! m$ y- u# M
9 u- O9 ?7 |- h" Q' b0 p+ u& C4 f* p0 E" P& E+ M: j
* H6 a$ N( l$ z* ^提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:8 c0 E! D: W# ~/ [ e1 Q
# }9 [+ @1 z5 B r8 n0 P
- O& m4 a) @' N/ G" P6 u+ \8 i/ W5 K _+ H4 l* F9 n
% I2 q0 {# H* ? V& l) O5 x6 @
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
; ]' j! y3 ^/ {8 h
2 Y8 X' [+ e' a# w/ h
& p; O8 T" F4 M6 v
* ]; P# F8 U, |9 a& O. v9 z1 x% V$ _2 v L: Y
o# v7 {3 m$ B) }# d. v7 F6 c
7 D9 T( f+ M3 I+ l
" J5 |! c1 L% ^3 Q看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
( D: r0 \' {% v+ x# {5 R/ e
) k2 m1 R/ x% X- X6 p9 n8 I
' }# O8 |6 a! j5 _) ?- f; @
+ G& |) l+ Y( Y; p6 ~! f
5 H& f0 n& M8 q- {/ g
; R) F, m- L6 l5 @4 g9 y8 J) m7 K 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |