这只是个小测试,验证一下自己的想法。
! ?: L2 c, B( C很早的时候,就遇到过服务器不允许POST的情况: f4 \' p1 Z2 {5 d
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
- Y! g0 t8 x6 O! k这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
4 e( t! L$ L4 I( C( _! Q于是我就寻思着用GET的方式向刚才导出的一句话提交数据。# M; s( L( j; g6 d% r
今晚不是很忙,就写出来测试结果。
/ a6 v9 r6 U" V& I在ASP环境下,一句话木马一般用2个函数执行:eval和execute。, V6 a x. p+ d- Y8 B2 _1 W$ e
先来写个eval的一句话,然后用GET向他提交数据
' `# K' }. P8 i! c, \+ C, N6 \0 p" B" v' K
6 ]1 r6 b4 }$ ?
( j7 ^: m$ ?8 f% P0 P
& A6 x3 O4 V! [! T. h8 M z( x2 h* A- G Y( `1 w+ c
7 `/ Q% }0 j2 u* q$ m/ @6 B
" |( ?, q, z0 D/ ~% V& A$ k
) S# Z' |: n3 }/ G$ X) [' Z* T0 I
6 j, q3 o# s/ V' |$ a z, M" Q+ @. S% n# q
- W' N1 |, r0 l( M6 s ` O
; @5 f9 _; E% w& V9 J( F5 O5 R
1 B$ h# K6 H2 }* u& o+ \6 _/ C4 F提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:2 A" U' E3 A/ y$ S( W/ b, S7 g
9 g5 W J; c1 V% K3 W; ?
& X4 J* O$ x- T) |$ s: Y
8 k7 f. w* G" r- }5 |& m: i/ v3 a0 [/ F
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:- A* X6 _; P' Y- m1 `& J
7 V* E; @( j* W0 O E
? N& P& A; V9 m8 x
2 F( G' J8 b) |, b- |" T1 I- n
! K6 u' b- M; B, J
# N! w4 b: _( p' l6 K) r% r. U1 \. [- I; N4 j9 B& r
8 ?; M6 t( y$ |8 A# `8 t看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
( T6 B% p: ]7 T+ X( b; w2 M8 l7 x# n2 O; d
2 n2 `+ u3 `+ u5 V6 H: W* h9 r
0 w1 ?. w; V: h. T1 k7 H7 g* u' ?; u
! v0 x3 w: B0 ~" U+ J; R* i
( l1 }5 g2 k# |. S5 k# ` 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |