这只是个小测试,验证一下自己的想法。6 z7 t2 D6 V# C# \- _' B( p
很早的时候,就遇到过服务器不允许POST的情况
* m' {: A) m+ P' \; H1 v- }- i当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。$ D0 H% @6 J6 Z0 H
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
" c! n% J3 M0 p$ C5 G8 e于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
9 J: K3 N) N( w, D1 l8 F今晚不是很忙,就写出来测试结果。1 P: m0 ^4 U q, Y
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
# X( T) ?: h5 b先来写个eval的一句话,然后用GET向他提交数据- p- S5 k1 X+ N% ~8 M; Z$ f
- g. K% @+ W+ E8 _: c
/ a' C; i, n; m E* m- f8 b9 x# K( K, G1 Q' n$ {
' {& e8 ?7 m- I, [% f% l6 m1 [0 E2 j4 q4 }) J1 e
: t" u$ e/ Y6 s3 N: g! i0 U
! l# y8 h' y: o& x) A2 S
" T& t# f' S6 P9 _" e4 T% z4 I S$ a
2 m4 t& i2 H B6 y* k
; w' J7 E' d+ w( d% q# w P4 @4 \$ W: ~$ Q7 s- h: j
( G" e" O( c" ]* y1 R
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:: k% u a/ t) m& G1 }
( J5 V. `4 U" D! b; q
7 o9 |' S |) U5 B* K2 m p/ W+ k6 j( g
) @% _- } q2 ?5 W% y$ C 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:& U! _: t, f* j2 d6 H5 h/ H
( K* c6 @+ t: B+ @9 z" n
4 z7 `, H* |1 u4 i! A0 G2 ]/ U% \: K( d/ N
3 ]/ }2 {5 M, P% K4 K- i) t& X4 M4 p
& d, x3 Y5 D) g7 \( R/ c
& V3 n" O. U; g6 ^9 G
8 Q; O: x3 a h$ g
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
- R Y2 `* W/ ~% O9 E6 y" }! Q( i2 O- w- |- n2 {/ e; m
+ O1 v3 y+ {1 q R) g; N1 g' ~. U) b4 b7 e$ w+ x$ n5 O
' g( z6 E7 M- P# p
* [8 p+ `# y j! M 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |