这只是个小测试,验证一下自己的想法。
, E' R/ ]7 P$ z" W- N. U i2 A+ p很早的时候,就遇到过服务器不允许POST的情况 B# N3 d; \, S- ?; r; T& d
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。* {6 Q0 w+ l# S0 l
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
# }9 D& T% {- a- ?/ |于是我就寻思着用GET的方式向刚才导出的一句话提交数据。" Q7 @, t' O5 R/ B, C. P: Y
今晚不是很忙,就写出来测试结果。
! c6 ]$ H0 Q& K在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
T8 F8 Z8 @/ _9 y% a5 ~先来写个eval的一句话,然后用GET向他提交数据0 E7 ^$ l( f+ u* Q" ?- u
& P9 p* w5 A2 B. W% U6 J+ u7 R9 p0 d8 o
6 ?: B' q" w/ S: E1 W$ o1 r% D
) ^! M) B3 e3 D: z" h
# M: w" ]* M2 g& h, B
5 e" n& K* _2 D) e! V9 L* x. m- E7 W" e
& L& X, `9 b n) M1 P
- v7 _* C4 T7 s8 S6 U
( i6 h2 @2 d4 A0 b) S9 U8 X* M- g N% X1 } b6 _2 c; E
6 ? |5 S7 U: p6 _
* s# \1 Z# N* x4 @/ j% n提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:0 W& Q: w, w: ]9 D
; S- o: F( _( R" n
* H& `2 l7 }% {& \0 o6 f1 L8 i1 s- J6 T2 [& L( X6 X
) F5 I l: T! h 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
8 h" P! h6 \! d- H7 c3 D" X; f6 j% Z! h& F3 @* E
7 C) C6 m) d0 J6 _1 J& e
. }+ p9 Z, H8 O0 o1 e7 p( ^, S8 E: o( C- f* D" x
% g/ m2 B% E0 h N: d' P
% b t/ s" _2 R- o! v9 i# W
" J( ^5 R- B4 @/ ]/ ]+ ~/ \# E看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
/ y3 J/ I5 c" p: M3 i
$ V/ m6 X" Z2 U. m. ?* F5 A8 |) v4 n) ?; d. j+ Z$ L
0 H0 ^! C1 ~& I4 _/ R: L: b3 O j, @4 S5 ]7 B
! ]8 J* c2 s$ H0 ~5 ], C; c+ X
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |