这只是个小测试,验证一下自己的想法。
$ c/ ?' g# g5 b% ~0 |很早的时候,就遇到过服务器不允许POST的情况
" k. Q# S2 h8 R6 @6 Q当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。# x2 @$ }. L; i; I1 v
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?" _. ^' I# O/ [$ ~
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。 a' K$ g& X2 n! ?% F
今晚不是很忙,就写出来测试结果。
o @! c, V# n& M* L4 R在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
4 k! I9 x( r4 N; G8 [. p先来写个eval的一句话,然后用GET向他提交数据
# l8 G8 q6 N2 a$ u) J' a4 l8 {" d
3 M: H- K; ]% {3 K5 H" g- a/ ?9 g. R a* ^5 z X- K; f
' Y) P2 x. q" C
, b. b; {, z0 R" z1 N; r8 C5 T6 }5 K- z; e( S+ Y O
/ Y' T, v* o# A5 h' O+ E( g1 e
8 a+ ]/ V3 w! O) \7 f8 [: U. G# a8 W+ P7 L% ]5 J. r9 n
0 o9 Q3 I) p" f" j
+ g2 A3 n4 z6 s& E/ C% P& `( C; F
8 q- N6 w N' l8 V( z6 n* I7 K# I8 m* x
6 T% L" s4 X# O提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
" g7 S% v6 c" i5 C" k6 ~ _8 t/ p% k9 z0 U
/ _8 n6 ]4 @0 v! D" h+ r
0 u) c& x5 N5 X
& A" |, _0 \ q
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
' A, l/ P; _: W. C; L; K, z* E! b
0 Z7 j/ O% S- O M
1 Q/ [) h6 | o% I( \) M
! \5 U- u3 @9 J8 x* \% i' F/ J( U
9 p: F% J( h& }# W, \' v/ l7 w
/ F' _8 v2 Q$ W% Y4 O 7 C/ k* y4 ^0 K! D9 R- d
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
' F; l) s& T. q; |0 [! H$ v9 t Z( j& o9 w2 o) C) V
* `( T5 ] \5 o# P/ L* a( ?+ M0 @+ V6 z9 K* I' t. y& g% q
$ C. y3 T- ~! [0 d3 G: m8 J# U. \; b8 J/ a
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |