这只是个小测试,验证一下自己的想法。
: ] |# O' L& ~0 `+ s! b; S, {3 y很早的时候,就遇到过服务器不允许POST的情况& n, H# i7 D% I$ h' g
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
2 G& a6 a! n! p1 A( ]' W. U( ?: `这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
7 Q" \- {) R' @" n9 c6 f; j( [于是我就寻思着用GET的方式向刚才导出的一句话提交数据。2 R7 n" v: f7 |9 n6 g
今晚不是很忙,就写出来测试结果。% T' m5 p: w+ D& {
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。/ l( Y0 G$ s# [5 J
先来写个eval的一句话,然后用GET向他提交数据
: z5 E8 _3 M: p* y. I6 ?2 k& J2 m4 n/ u
. ~& Y+ I e) M# i! V1 p
3 \: C$ C' a2 l0 y1 r* s9 D! ]3 m$ j
' T* N m0 X( d4 Y% g
5 R$ Y8 ^$ K+ G/ K! l% ^: Z, x5 h) g! q; o2 {& h6 }: T* M
7 Y3 D% o2 T& m# z: c
: [7 e# w" g( `
$ g2 f, i4 b) L: y+ X
: ^* ^! U1 u1 E) p. t# w
% Y# z2 }0 y6 U; _, n& ^! W" ]
* G4 z0 J1 k# j' H0 P8 O; i" ~- U) V3 L/ w+ s' p
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
- d8 m# o2 W" }& Z' T0 y, @( r, e7 k$ F1 l1 l! b
6 Q2 _; F' V# I4 V h$ \3 k1 r' f0 [& a
$ \& }1 I$ f6 `" @; s8 g0 g
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:* `, J4 @0 o1 C5 U% q
8 \& ~' ?, s4 ] P5 S* p
: H6 n) M0 F9 i% S. f1 R d& t8 q3 S! s7 I& ^- J% u+ J" P
* n3 l3 ?+ l' \, u
) |0 a( u, U$ ~. }
6 `/ H- R! Y0 Z2 m 0 V& r9 p. M( ? J
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试 P4 z0 J1 Z2 i+ t# I8 A
$ w4 S6 L7 w+ [/ K: ^4 l
/ z; j) H) `4 E
; `1 s1 F! ~& r% G+ z% n
$ ~% w p- G, w; A0 \
; }, d u1 G0 v4 s* Y4 A, K 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |