这只是个小测试,验证一下自己的想法。
+ ^# W5 a! q8 E7 o7 h很早的时候,就遇到过服务器不允许POST的情况# \6 g, O+ M2 A6 E8 o/ k
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
* s) r) G2 \6 ^4 X1 [+ S; ^这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
* u* F$ t. t% b1 I于是我就寻思着用GET的方式向刚才导出的一句话提交数据。. I2 @; j& g/ q5 B
今晚不是很忙,就写出来测试结果。2 r- ?2 g% f( ~" E# r
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。0 [( w( H9 h4 |9 C& N5 K
先来写个eval的一句话,然后用GET向他提交数据: l" S( o2 L' a" v; }
$ m" k3 d& D4 Y4 x7 R
) Z$ x, ~3 K7 \1 }3 }) [
" e# U* [) q7 D0 W3 Y) t
6 s7 d) C( N+ u2 J0 p- B6 c- j0 S0 [' E6 a
7 K% j O& m' f p! c
b0 O3 j* N% r; D& u2 j' \1 M2 f1 S" h) `# D" g+ _# J
4 m/ _* G* @0 s( \" x& V" I4 v5 ?9 u! s) P9 h
2 w, h3 b' k, B7 J
+ P5 q2 |2 F+ }$ F
9 K+ Y) U- S1 L2 r1 Z0 U7 d1 x提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
" }9 W; a) @" D' I2 o7 p
0 f; J4 e3 I1 j& @; `) m" F2 ^4 `
( J5 D* N$ S% U: m- J
0 l& E+ l0 w; {) x, X 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
- o1 G* m# B/ T( J) I, C: X
8 S9 b. J) r& U$ J, G$ i
$ B: w O) q1 e- G
; W. J, T5 ^+ |8 z, K5 L
* m, g) ^- N# R
9 l6 @8 k6 @7 E' [& v( |
7 F+ X7 j8 e7 `1 b4 T
- m ], _* s6 ?5 m看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
0 R3 q# J: P7 b: w& }9 ?* P
3 \& ]% n9 h d2 e
1 I! Q% L, f" u' e, i. ]8 \7 f* q5 _/ @; L0 z! E5 ]; ^
0 {* [& R" a/ J( p3 {
: I9 U. z" S) E" y5 v& w" J 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |