这只是个小测试,验证一下自己的想法。7 _. _# ~, @* |. E2 Z8 }- B8 T. W
很早的时候,就遇到过服务器不允许POST的情况
2 @' C! h1 ]5 N/ Q" M! `- v当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。& {* c# G& M* F% w( O8 m J- j; C
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?: i1 O1 T. Y, L8 K
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
" I0 O% ?; y+ g) d: I今晚不是很忙,就写出来测试结果。$ V0 \, m' y( ?+ J+ c* X
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
_2 @7 C7 l: i" Y! e$ ?先来写个eval的一句话,然后用GET向他提交数据
% j3 w+ u1 j8 e$ h, {4 Q: T k1 Z8 {
1 Q& s, k+ p M' e
# y& B0 m5 ?2 |
6 J: u5 f1 B# S+ C
$ w0 J1 ~2 m: u. A6 w$ N7 O
6 E, i; Z% i1 Z( c9 \
: X6 d8 ]/ H. ]( I' R6 E- l5 a
, _; C+ s* o4 i+ P7 I5 k
' _" |8 r" d0 N0 S6 j0 D
9 Z& o3 ~, n/ v; g
/ \6 s) T6 B7 |0 s b( r8 e) s) x' U9 G+ a9 B
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
8 G! L+ S, c+ u8 g& v: B2 V& S' _4 [ ^4 J
0 C$ Y' g( E5 C$ D% Z2 i' j9 W1 Y* E' s- C4 H* C+ c9 e
. b8 h' G5 `: p' y1 S; e* h
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
( `- s `* }7 q; f# O0 b' r1 ^5 F) E- [
. p6 q/ Q: ]0 B! ^
& W% t/ K, [: D! [! D' @# l$ p
/ B) d- N% R: X& g8 L
. n8 N8 W- W& o, \" k4 e8 v- R2 c
& _4 U0 ~0 Z% @% s* N
9 u* L7 K$ I7 Y q" \. I看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试7 c2 C) C8 P8 G; I( Q) R' A2 b0 Z& h
6 [; [5 w2 k* S6 X! E( l3 \) a! i& x( i
$ f" W$ r, F$ q! o, ^
$ u( ]6 c" O1 x' H" h T) X
( r- B( n* x5 J& {( F; @7 T 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |