这只是个小测试,验证一下自己的想法。7 S+ @7 |. j7 J8 l# i
很早的时候,就遇到过服务器不允许POST的情况
: i1 l) C- d# k, Z当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。! o5 \3 @2 Z% ?0 ^# v& z
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?+ a$ p9 J, V( b: I; a* A
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
+ P& |$ p! k. E& V" u今晚不是很忙,就写出来测试结果。- y9 ]: R+ n0 P
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
% M/ w' T8 f; d( [6 J. y1 f$ O先来写个eval的一句话,然后用GET向他提交数据& W s: t7 R6 v' a/ X# y
8 b8 ~% l+ M) ~- F5 K8 c( z
8 x# k5 c, A7 e- K
# t+ u6 p: U+ B$ ~$ Z' P0 ~$ P9 ^
0 o8 Q6 r. `: c
$ R$ l8 ^9 r! v
_& j" g' g* K+ g# W: P* n, `4 K7 o
2 h% |! f9 ~ H5 [) W* U+ u# e& f ]* o4 o5 [: D# P
# p; k: b7 ~9 N' r/ }- h
h& T; |. O- Y0 D' l6 d- M
6 Z! Q+ J/ ^2 k0 x" O' j) M! j+ X$ L, S U
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
* Z9 r9 p7 \& C
7 R/ f1 S& t( j, U* n- {! X% K* I0 b+ U- g$ {+ P1 Z- l
7 q/ i! F# y- j& M4 K+ I, A }
" j5 [4 F Q# e! O/ H/ g0 r& ~; p 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
5 B0 ?, F: o. y! w, g' D0 T4 _% C5 @! j9 w4 ^8 G
2 Z- m* w X* `% r7 L% U5 S5 w1 w2 V" i# D. A
; d3 |' b) C+ C( A1 ~) f u
: l6 z3 d" T8 H* J! O" p9 t
: F$ `3 S% f" S7 d6 [; ~
" J- q7 R# E: m
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试# }1 f7 u/ i, [, V9 @! w8 F9 b
. B. [* J! ] X2 H& M
9 ^* w, L* @, J9 W0 r" O9 t0 ]
: n1 E3 x1 D3 ^+ D+ K0 s) X& Y1 a/ w# Y* F" h" H$ [/ Q
" U- d- U+ g3 q) j4 L
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |