这只是个小测试,验证一下自己的想法。
m# a% C. W/ W' I很早的时候,就遇到过服务器不允许POST的情况
) Q* ], b, F& w8 Y当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
$ H5 p* e. O1 v( D这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
/ w) ^4 y: H1 k0 {/ w于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
$ i& L6 ~( n. Y. F8 E1 P! ?今晚不是很忙,就写出来测试结果。* a+ R+ a& D5 ~ m5 ?
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。) e \" J" @/ P( r3 }" h& c
先来写个eval的一句话,然后用GET向他提交数据
& S, N2 T) t' K' H6 E! q4 r2 u+ k$ i% W. s
4 N; R" q* y6 D9 c2 o/ ?3 U' h |
: z; x: W+ }. n4 O* Y( ?
1 E' N8 @# Q8 N, U: E, P/ A0 y) j2 J8 Z' R
( O! j1 Y2 t$ {% f* g0 d3 Q2 S4 S" P8 S7 I- B0 a
- E! C X" i t% ?3 i8 S. N2 r7 `" ~5 ]$ k0 c6 [
, D) i. }& i4 b0 x4 h4 f6 ?' p
+ ~) E4 G, c' _
; a9 c y/ e/ E' F8 `/ e( ]
0 p" k$ |; c# ^/ f6 Y0 t+ v提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
7 I% p4 ?/ x+ i; W8 Q; I4 f* v P+ B9 j7 r" v8 E# U$ U$ {/ c
: j5 _# V6 Z$ d' X
- c$ f9 K$ R% D/ W" V
8 |% I5 O% W/ p' v4 @ 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
3 S1 z9 g: Q8 j
7 F8 r. O0 H6 W- t
9 O7 D, n/ b$ X" @8 P: Q5 _1 B1 d" ~
4 ?- y' h: L1 R( u, m% S5 o a: Y& @" k7 e5 v2 n
9 R+ x. v, O! F& {
I' S; p6 U, D; s 4 `# r* H" m" `' l
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
% W1 A: _1 ~# \( N
& V3 v& A$ {4 ^2 e3 P
9 f1 s- u ?9 }5 l4 ~/ k9 Y4 B) b4 s7 Z& T8 \, h" I6 X3 ]# e
7 e2 k) w# H8 ~, o" i( `
2 C, A" e4 X6 o0 e% [" P" a: n 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |