这只是个小测试,验证一下自己的想法。8 ~5 X: }. q5 v, e9 F7 K! Q
很早的时候,就遇到过服务器不允许POST的情况4 m: L5 i3 h2 }* D
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。1 {" b& X( \+ a) D* i* S
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?) _* Y7 }; R. H: r$ t8 B
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
( H/ B, o5 O9 R/ }今晚不是很忙,就写出来测试结果。
% j) o3 Q- M! k4 L+ s% ~在ASP环境下,一句话木马一般用2个函数执行:eval和execute。; E2 ?' l5 X& N) t8 Y# C1 O) P. w
先来写个eval的一句话,然后用GET向他提交数据
: O, c- ~4 t" B N/ g2 z7 f1 X6 P( L
) D5 |3 Y' E5 D* S% B9 v$ T! x
1 a) V, b r1 g5 g+ R# `6 u
4 f% v* g8 Z7 \* @
2 P3 d9 o* w" q
8 }: a3 V1 C4 C7 e$ D7 I
9 H1 x' b, D3 N. f# ~
- ]3 E3 I+ R* f9 j a: G4 L5 {: f8 A, B3 e
1 {0 b' {0 ]4 F$ m/ D" G
2 H, Q5 }% U: @6 ?$ @! a- R+ P x& ]. l" m
: f4 P/ g8 r1 G: ^% I$ p; t
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
7 w) |9 G2 Z: ^3 V4 |
3 p3 ?' ~; U9 ~: o- f U s
8 I/ S2 s, s: S1 H3 V2 I9 R
) P9 O6 p: h. R+ Z+ R: J6 T9 d, x& X* [% T- `- M7 B9 n
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
' F" ^$ X) v* f3 }; `) q, `
1 Z# {$ u/ Z3 g
/ O% v. g& ~4 K6 j- n' L
, N Q% p1 r+ j! z. P' O. g" o4 O" S _' h! U8 N: M
: y) F9 I- y4 W3 E5 G, T; F( {
0 p& b$ m; g. h+ F7 z / Q# b M# ]) @& ]( T' x
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
' }# O- Y$ i8 p" a2 w! ?
! i# n2 H1 ]' }" R" e
^3 h6 ] l& W: F2 ^& F' G
; e: J f; d6 w, o# P+ ? z3 n6 B3 ~
, t. g4 K) X+ Q$ k& K+ H- M5 g 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |