这只是个小测试,验证一下自己的想法。
' e! W' n# [* E* [2 p, U) Q7 a( l很早的时候,就遇到过服务器不允许POST的情况% O. G1 O u/ |5 W, K
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。 d8 j9 E0 F+ P5 u- Y; w
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?) M+ d1 I& C! V1 b
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。( y$ h2 M; A3 R: @, A
今晚不是很忙,就写出来测试结果。& g/ w" |4 [( I) j# F
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
5 I6 ^0 C* D Z' J先来写个eval的一句话,然后用GET向他提交数据4 a, ^# h" D* {. Z% ?8 f
; A1 g" {: E2 Q2 \7 Z; l
9 ~( Y! I% H8 J! K6 R7 J9 x
, g- s% v* x3 h$ i* x, A' B
4 D& W! i( A1 v' A0 N; [: E/ w3 Y$ k3 q
* d' @. T5 i0 t% S' v, u
3 l6 b0 s/ @; l9 |8 ^8 b0 B) r5 u* a$ I0 v2 N
& F1 ^- ^& A9 y$ {, s" ?# j5 k1 D' c+ l
0 @; c9 W- [- x, O
/ P: e, D- B' u- a% _* K+ Q8 y
" W) ~' q. s2 m提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
* F8 r0 K5 k9 ]# |( ~
) {4 @( ?2 N `, G: j. {9 N; x; ` v/ h# L' H f- o+ B, D5 p/ V
* m) Z3 z, r3 k2 R* Y
9 S7 ?% C& P4 t9 g. ]& c 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
|' J- S0 u- k7 r8 K# g6 _* ?+ \3 J# R1 Q2 |3 k: t7 r( T
2 X3 |+ r% H* C( z
0 q" {1 x/ `4 |' |
& I0 L9 R3 o+ g$ m. U7 s% F" g- c6 r: _4 S
' ~8 Y7 Q$ c4 Y ' a) L; X: z9 B) o5 ?; M
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试" F1 ]$ A1 I" l. y/ U
Z2 e j0 k" m7 N- }0 w/ ?
+ C$ x, A5 X# Z6 ]7 ^# J) M
/ o1 |9 w8 ~' x" L% J# }& E; c; ~, F5 f, m% q
$ _1 T: C; N! z7 r2 ]' i 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |