这只是个小测试,验证一下自己的想法。
( d3 ^& \$ G. G s# X很早的时候,就遇到过服务器不允许POST的情况
3 `8 p5 [' b. ? k @6 o当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。0 \ C" M8 H$ I. q$ ^/ g
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?( s- x+ `, x* X' S
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。% |+ J9 z0 T: B9 k2 h9 v9 K0 p% d
今晚不是很忙,就写出来测试结果。
; Q4 n, P+ H4 H; A* b在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
+ I1 E0 x! l! ?# ?先来写个eval的一句话,然后用GET向他提交数据
% Y+ U; X5 N9 @/ P' ^7 F
4 q9 ?* i$ V3 T+ i$ w# l
1 n' b( \2 O/ S- s; G1 I, C h0 e4 w/ A, U: b
$ o& i9 l+ o* z4 e, A }4 i
2 {1 Q' ~) {8 Q7 O3 t+ h0 e; W- R ]0 |
# G+ I/ l7 t8 K5 n- F: v( y+ @6 L. ? [% i4 f( ]3 Y5 t9 _2 v9 H! p7 [
0 g; D' L, S. k/ V) W9 V. d% d4 l
, M6 t2 E; W- \- V; ?( r
9 c) F1 t+ Y' X) F) x
" u- b6 Z; A6 a' g
& c" ~ R8 l6 ~" G: m4 f( {: D提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
9 W; g8 V. _1 B+ c, z n' \& }0 ~4 u4 ~( n8 z1 A( Y9 S7 b
& Z- z2 @9 C$ Q3 n# ~- B
3 r/ o4 h' U7 Q: J5 e# ?
" A# n5 }6 ^6 l2 a8 }3 R 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:8 ^6 J# U& U) L. H: o
" m$ @' k+ Y: a k a+ {! R
4 ~( l3 n% ~% \5 k+ e B
, M7 @- |$ R! ^* X" ^3 s# a7 j" X+ x
* |" A+ ]$ a) T* S ]
9 X( `2 ~$ N+ w! p' A N* o$ o
/ k& u( W- m' \ % ~5 z; e4 m7 c0 J0 c# m
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试( E7 R1 b5 n+ ^
3 ~1 I O( ?8 ~4 `
; J7 t+ l/ V) x
: X8 d2 ]1 w- i& ?4 `) l5 d3 m5 \* u/ D8 ~6 U6 e- Q3 f, q; c: a
+ V, |8 V {1 X
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |