这只是个小测试,验证一下自己的想法。& B A( ?1 O9 W) c# L/ V* R* z2 Z
很早的时候,就遇到过服务器不允许POST的情况2 p& B u. s' Q+ p- P# M R
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
& D! C; U% q: V B5 Y这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
) W F7 I$ G2 {3 o5 _4 w于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
9 y& a2 G1 _' G( Q3 ]今晚不是很忙,就写出来测试结果。
; b0 L/ n0 I1 [在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
& H. D, ?6 T9 Y0 p7 m先来写个eval的一句话,然后用GET向他提交数据
1 E+ A; o+ p0 ]) m* c+ _7 z8 r) h4 x3 Q
: n& L" C7 v/ b& d e9 n
; w1 g9 ^3 S n: H x6 W
4 t% z6 X9 e0 X( I& q6 J
0 u- j( n7 R6 Z1 T( M2 ~: Q
; h0 H9 C' S( D6 `, \
2 r H. W( q% f( A/ u4 I- ^3 m, Q$ G
/ l3 Y, u* T7 K$ p" e7 U$ E
r# v7 c2 f7 I! ], @5 m+ t+ g$ }( V
3 o; j/ {1 ^% L2 Z2 {
! e! O2 K* _! U* S提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
& y) E5 H1 F9 e2 e. S& E
% o; E" \/ K& b. U+ G2 c( p( R( K l0 f1 B9 @
( }+ V: b! L7 R4 s
. p5 {7 C: L; m 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
8 S- n; A" \! t; L
1 t r3 O$ J' J3 T$ }' [; m2 s- \! {" C T9 T) D8 q$ S2 g
m. }3 a5 I! G1 j8 }, I8 C8 a; a) A1 h* J
8 B# V/ a3 u4 k" I, r) ~/ I4 N0 H8 O @ ]; |: S! n
% U5 Z7 p! j6 M2 y1 \% J) t0 ?看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试! K! r. D8 w# \$ L% x. p- Z" y! N
- z7 ^% ?. x( `9 Z' w u
, J" o- \5 ]5 f& v" ^; A" N
5 v6 J3 h0 N& F. Z7 B8 H
6 I4 l( [! U; y- Y; g$ j, |% ?; G2 A
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |