这只是个小测试,验证一下自己的想法。
0 |0 w% b" n& ^% ]8 U很早的时候,就遇到过服务器不允许POST的情况
\' D. ^% p5 w当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
$ V% q H* C5 I这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
* b( p) ]# o5 d7 ]于是我就寻思着用GET的方式向刚才导出的一句话提交数据。, Z1 t: v! A p* H
今晚不是很忙,就写出来测试结果。6 ]% K" u6 O1 H" p
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。; D0 Z: `5 o8 W; @5 ^9 g
先来写个eval的一句话,然后用GET向他提交数据+ P2 \& T7 I* Q% d& ?
, r; P9 W% N! t, i j) _
6 o' Q. Z8 H0 t6 k/ r3 a4 ~: `1 |1 L# ^4 D
" }) @- ~& ?: y% w, S9 b
) B0 ]- y$ @# K: {9 g1 f+ V
) ^' q; ]: c- c6 H- ~$ s5 h& E- [6 Y( f" p4 m
0 q8 f' A4 \ O" D( I
" s% d( {+ V v* d$ {. X
* P C2 @3 b/ P; l* P
4 T+ C0 {' G. c' T' {! u8 L
% ?4 N9 A( A/ \: @7 K2 `- k, p3 s- N5 U( I3 A; W, _
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
& A& ?3 \# v) J G. I) E
2 x$ a; H: ]" e( d" x$ q4 G+ B2 ~& c/ H6 C) u; L
0 Y, ` v: A [: _) A4 H% I k
# Z/ Z- |8 F" c1 b
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:% c! b) N% ]+ W8 W3 k
Q: r# S. O& B7 V3 M& y- S
% N" }/ k; ^. @# C" ~; h/ ?
' L' M7 g; b. U6 R5 n! C# K8 f+ r9 M
0 ^7 V0 c" _3 z4 N
% b, {7 M* h+ X c* N ) N$ w! }1 W' b3 k' }0 c
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试" Z/ E* Q. ?, \1 T' h# X
3 N; @, W, }/ U& ^9 s
. }, e0 p/ h4 c0 C; k6 N) @, M& y
! _( y! J: e+ K" i: }4 g& }
x" w5 Q+ g8 W& N' ?) ]! j
: ~9 R! g- ^+ b5 t! A R. f0 R 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |