这只是个小测试,验证一下自己的想法。7 v- E& @% r" Z" ^: i* l* v
很早的时候,就遇到过服务器不允许POST的情况7 H4 g' D3 Q. E0 l4 O$ ]2 f
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
8 f5 G. }0 |' U4 G5 U" K这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢? \4 _7 N+ l; q0 R4 C
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
$ Q* c3 r% K* h \9 E今晚不是很忙,就写出来测试结果。
$ }6 _5 V5 a2 C4 T* ]' [在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
- h- M" ~: K8 F7 ~4 v( D先来写个eval的一句话,然后用GET向他提交数据8 i! L N. r' \+ O; [6 m5 Q
* ~0 R6 |( n% L9 M6 D6 q3 h5 h" L7 M( l) j `* `
( B* b! C7 c i+ ]5 \4 h3 _
. _) D6 U* T; l) X5 ^) {
* t( c9 f2 N$ A" l/ Y3 b
. C: h2 x0 I. Q5 ?1 j
% E- u6 E( ], V, a# {0 o
5 T6 R6 f, T* y9 w- g% b+ `) z0 F) l G2 M
% m4 T: R/ s* v9 ^" T; k, X2 y3 L; m$ x. N
* Z0 C" Z8 h, W; }4 o- n
) u. y! x$ b! l. b# d提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
) F: C9 Z+ j1 M0 E% b4 l% z6 n$ p% J3 O1 C; {, E, v' }
/ }/ K4 U/ Q4 k. z
6 y+ O2 g( o) c# |' O% q
# ~" d; `' i- W, x/ j( {
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
* }- R. A0 H, O
7 M+ I" k7 ~7 P7 W) C/ H5 l/ f9 p$ f* v F; J0 i" n
; p- M& D. _ v
, J2 l5 x- U2 W! S
# p6 b& I y8 w$ B7 _
3 A- G# o) Q* E
+ s+ O( g9 F3 w6 `( Y Z; A, H
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
2 N3 f) O0 l# s7 ?; U( x# G
9 ^1 ]+ q0 C/ t, `: O4 T
! d( |4 O# n" t% b3 y+ h$ W4 Z
' \, Z) T7 H5 |) d2 o/ E
2 F L9 `5 ?- Y: Z/ u, e' H2 ?9 o1 s8 b
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |