这只是个小测试,验证一下自己的想法。- P6 |. q$ F# ^' d' X" I7 e
很早的时候,就遇到过服务器不允许POST的情况
R; j4 ^; S" l! J" S& h; p1 x当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
Y3 n2 W) e6 h这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?6 I$ {' l7 m# s9 r; ?% G& O4 s; h
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
+ Y `4 a5 x9 ^& P今晚不是很忙,就写出来测试结果。2 x% l# ?; M4 k
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。4 j0 V- L; ]: Z1 N- ?/ W$ s% O; t
先来写个eval的一句话,然后用GET向他提交数据
: y7 W: g5 M" D$ m2 V
; L- y4 R9 [! C! _( J* N9 ?- [" U* O
0 _8 H( m7 Q4 z3 z+ @/ L G
& G( i. Q3 x- P. V# C6 C
! q& Z+ W( l- Q! X1 A" k/ o3 L9 V5 Q; p+ T" a8 P4 h9 n
6 T; Q7 M, q' d, r
% k" k! K4 L6 x) F8 |. J
. W, j& A, X' T& E
7 O/ w: }- D# k' N
" H- |4 a7 e0 }3 U& ~" `1 H/ e: F1 ?
+ T, b/ h) V# u: S& @5 b" c8 u% Q提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
! ~' p, g# {6 p) b4 B
( f: x% O8 S7 A1 P5 Y/ r8 {3 }8 V( n
6 z: R. O. z! {& ^5 ]" ~& r
+ y" S0 p) B+ W' Z/ ] 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:# l* l* f- F) l* s$ @% R# V
1 K# E; h/ B& u. ?, z r; e. ~
) c8 k5 J% P4 C1 r0 A7 h! R8 M" v, ?! E
8 [% }% D/ Z& P* o2 ^1 {! J
- L3 a& r2 l! k! S Z$ g
# N$ O# L) ~! M M( ?1 b
; Z1 p5 a% T6 L看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
0 [ @2 p" }( M4 p
4 a( \, Q6 L/ ^5 f& e& @
: v0 v7 {! o# N! A- `( ? z2 U) z$ I* R/ \
9 ^% k, v6 K2 e. ?" C8 T5 O/ U5 J
4 g( F* L6 [. Y( p
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |