这只是个小测试,验证一下自己的想法。
- D) \% ?1 k" \# g很早的时候,就遇到过服务器不允许POST的情况
+ _: d' z( ~3 s* A当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
7 Z. W; E# [- r, L. L# G这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?6 r- ?# w9 l# Z8 ?, R( c' m
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。, F! C: Z( Y5 ^* P* H
今晚不是很忙,就写出来测试结果。: i4 F2 |$ R' S' U D- s& q
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
+ R0 K. Z& ]; Z! `/ j先来写个eval的一句话,然后用GET向他提交数据
& E7 r. M9 d R9 |7 F( x- @: Y
. W2 Y T. I* ^. }
: {' g" ~. F7 ^2 X; h5 N; U- A" w" H0 V
X* c1 ?* d( N+ z: H: S5 P8 o5 Y a0 h' M! w1 m4 D
& E; N+ ~* \* l, j6 w
( ?; _ E; l& t1 Q& o8 u; u+ O; g* J- ~+ ~! L
% A& @: p: r. y4 E8 i2 I0 Z) M
* N: [) [: i6 H- N+ f( p
' ]. x; y; _' x. D+ g
. ^* A+ r# @" r. [
1 ~% r; c* q; o, K' F提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
( j& z- ^( N1 o0 k/ \2 r: k0 _% F/ W/ l& D6 ^
; {1 c! ]6 x8 H: j
3 w# H2 F* ~# C8 W2 T) ^: X; D; i$ |: N* e; Z/ Y; e0 _
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
' m) l" q1 x% f$ d6 M: Q/ K x1 y ?& F( u8 |$ G
5 _8 @. Y9 s1 M L0 \7 \
! L) J( n! N3 A) n! g# j: Y
6 b& z; [- V7 o9 Y. |) S- Z- r1 a# s/ g) q, {
9 |, T4 x' Y/ b- d! n8 |
p+ ~+ {% U" {' r; l; C3 }9 n看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
2 d2 M4 }/ z0 d7 b3 i" r
( m( G O1 r/ n: A2 @% Y3 g% [3 f+ l) g# o
* N% P/ e! G/ S% G: ~% d% k; Q9 S. X- Q) Z3 r7 i ^
9 y0 H3 T+ d! J% E+ k 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |