这只是个小测试,验证一下自己的想法。
; o* W0 l2 z* J* q5 e9 z& n& @很早的时候,就遇到过服务器不允许POST的情况% u; c& @! g# y9 E% i" ?7 v
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。9 q' D: T5 O5 {/ c( h
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
: Z' I1 P8 ]3 n* x- i+ Y0 P2 _于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
* Q' D q6 c. F r/ R* r: p今晚不是很忙,就写出来测试结果。9 g, U- t% u% Q: I' x" O5 {
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。; o& n4 M$ R, d6 K; i+ P
先来写个eval的一句话,然后用GET向他提交数据
3 i( a0 q" w1 ?3 K" }+ p; I: Z; a, n8 U+ G% ?/ ^
% f9 f) V' l! y/ @
9 {- e- j/ s/ b% O
* T$ s2 y/ R. k' H0 z( {/ q/ f! k) s' Q
/ h+ l) r8 B: p D; H
' i$ h8 }7 Q5 l- A" k7 g8 a& t+ |3 ~- ]7 |
/ _1 f( C- J7 y
$ C7 r7 c! v' I6 Y Y; [
- ^7 f8 F" W; J7 b% B4 P
* j: N6 ]. D6 O
. y% C0 H+ Z0 x. G- x1 N
& n& y+ m8 i; d9 a0 W" m提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
- M2 @, b! v4 F ~4 I, j7 @
3 l% U5 X5 ^9 w. Q0 s; e! Y( F3 I
8 w( e! k: P( [- x" k% O( x, _/ g& C6 q
6 e! a- r8 e6 @5 x
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
6 M- W$ v2 w0 ]6 z1 F2 n
' o- M8 F/ ]' F7 L& d! W$ y! F k& x9 j& A4 ], U
' o, \3 I4 q3 T0 B1 C9 V) a( ^
1 q3 V4 r4 t+ ^( X5 A6 Q! m6 m. j3 f2 h
+ u* E* x# U: D ; q. o8 {' p% ~6 T/ a% r
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试" c3 G7 r: z1 @$ {+ f( L+ [6 [
4 Y: [9 q5 p9 I! z7 m3 i! h: U9 R' @
1 x) z$ b; s2 ^0 k! `0 ~
) R9 J, R' M6 {; b* C, l8 J2 F9 e" {( X- `& `1 A& I
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |