这只是个小测试,验证一下自己的想法。) @, B, r" }3 B4 }; i
很早的时候,就遇到过服务器不允许POST的情况9 i9 `7 I# I4 u. z/ B
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。% r( ? A6 \$ m) i
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
' U; R8 P9 _' ?& d于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
: i. @0 j# d# q今晚不是很忙,就写出来测试结果。( y3 J6 m# @0 Q8 Q: y
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
: K% E* ]6 s, g9 S先来写个eval的一句话,然后用GET向他提交数据
( ?: L) H% p4 n) _$ n4 E0 y8 d1 G) ]3 V
$ l/ R$ i: @2 C" F
+ a4 W9 m; i7 {
. i6 J0 E, C% a6 I, S( d* s0 {3 i2 T2 k& X' U2 w% ]: _
6 F% O/ j6 g9 s5 J& q. }) \
. |$ e, X( X* `+ Z& i F% S, d
0 d; f8 j6 L; j
+ a9 K# r9 A" h; J9 a+ H. \/ L0 m) f) l8 P6 _3 Z3 s
. M; a5 o9 @7 G6 \9 N; n9 e1 [9 v8 p: d5 _
! U/ {: l, H. |9 ^, Z: J& V/ H! c提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
6 w* P( R1 y0 t. }8 c! y
9 H, o4 y! K# U1 y; f6 k; p D. W
' \( D4 k4 `; _5 W. D1 }# W, v/ d' g% c. x" H# l
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
; Z7 ^) V' T; K9 e1 ~* {8 g2 v2 V n1 o% _' l4 X, ?1 }0 Y
V. o+ @* R1 K, w2 u5 F, p+ o) u+ T; g+ R! C# ?9 N2 ]; q
7 F& A8 u$ n) j3 q; b2 S/ m
2 N$ k8 S3 `. O2 l
' |; ?( ]% \2 x7 V
( `; V2 M6 E/ ?- |看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
9 q# {% i% L% d6 P: r
! ^6 L3 o0 O3 N" k0 [# }
% x3 L! m1 ~1 e2 Y9 I
3 p% y v0 ]% L5 b" g& H* y& H4 N3 ~. E
7 ?, ?4 C3 B) O6 `: B+ J! H 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |