这只是个小测试,验证一下自己的想法。
/ |( n0 U- k! F/ n很早的时候,就遇到过服务器不允许POST的情况, \+ ^1 [6 ~3 G0 c
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
4 k0 B2 ^8 W- H% V, m$ @5 {" m这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?! e; c( A$ B M2 {1 ^# z+ G
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
7 ~! k: o# D7 T& [+ l+ q9 N今晚不是很忙,就写出来测试结果。* _( R6 j# Y4 Q7 I# i
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
$ l" A, v1 m) Y7 k1 x! [* r先来写个eval的一句话,然后用GET向他提交数据' \& w! t' l. l; P- O U' E, p
* h2 F4 [9 G* B. L: D* V. o0 l$ | r
1 d, X: `0 [% k; k# I% h
3 a& O2 c1 b# \/ A" W
" W1 b% C6 S0 U$ X+ L$ N4 X' c: f7 @ t
+ v; p2 J" U) b, M
; T J# i, k( A3 Z8 Q/ D% D6 F! p J* G9 z4 g6 u1 Y% w9 u) K
9 V L- d1 x/ f9 y1 e9 t& t& E/ t) w- A/ d5 |
3 A- v5 S" q& f2 x- v K
# {, y, y% ]( E
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
& v8 y: E7 |4 ]# Y5 I% {* x i3 l1 X* M
7 b" f& [* v$ D- s
4 M: k" T) ^, G& ]3 @4 G* y' ?
4 |" X2 h+ t# e. s( N
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:9 p1 Y y8 h) g. \& w$ t) a
% ~& X& U! f; ]+ [
# S7 ~3 [% v! |) n, i% k( j6 v) C$ @: n8 `0 g6 F) B
% a( [0 l4 I4 F* j) L
6 K+ P- X+ S5 r4 q( `4 l9 Y, p6 |' a9 Q9 {
6 z1 q0 j& N. L3 c4 M看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
, l3 y+ _) D. F& ?2 H7 m" W0 \9 {3 Q' I& E! B: z C- C. @
+ `, I" E( D; M* A* A
- l. P A) B9 e+ u1 U R/ l6 z
* m' M& M p$ W1 e q; H7 Y7 j0 [: L: ]+ g$ t
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |