这只是个小测试,验证一下自己的想法。
9 m, U- |7 [& d: x& N很早的时候,就遇到过服务器不允许POST的情况
. E+ _/ _0 P$ U' m当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。( W& O! p% I; V3 G& _* a
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
( T9 g" t5 H# o2 @于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
! ?1 {! f6 t" Y% F% {9 X今晚不是很忙,就写出来测试结果。9 _' m0 u) U- s0 K. {
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。( H( ]1 U& h* l; x M7 u
先来写个eval的一句话,然后用GET向他提交数据
* ]) E! C3 R6 j# }; [7 a1 G/ ?: N; o0 x; D& J$ V# V
2 D& q0 A8 L& _1 x% D4 f3 I
3 _6 ?1 W X6 g
1 {% q$ C) ]/ {" L A$ w# t
% T. }) A# U9 U, S' A
7 ]8 j" ^1 X* k0 d+ j1 P
7 O" m- B# R/ ~ U
& j+ p& t+ F0 h3 p3 A$ Q; y2 f" d$ L( F( j$ [/ C. {
]* w# N& g) [! P/ P" f% _
: b+ M, k4 N5 y1 O( b9 X$ T
+ W# p# Y2 Z; d. p( ?1 `; [7 j" E$ L* d) F" u
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
; v( {! c6 J7 I& U+ V( L8 w7 V
: \8 q* C7 ?6 I T/ i; e, p
6 m7 ~# k" ~ [. T& t Q n, C; W$ K7 \! P/ p( e$ U5 ~! p
$ z+ P! ]5 s% C! w1 Z4 K
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
8 P# {5 R4 i1 `+ @: C& x, r% C" H) i8 b
& [! x2 |" s$ F' K2 L! w" w
, D" `2 z7 K4 J7 \9 J6 g4 e: \+ p$ Y3 U! O4 K
* K) j0 |1 R) z
3 x* A; s* B* t" g& r
% s' `+ G( y. g3 Y看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
4 \% \+ s+ _; H' B
& E. a6 i8 D5 b' g
+ d/ F J% n7 k0 V# a' D/ F7 O' ~( T7 l' a
! a' K9 L8 P9 {6 N
& m0 V; V+ g) c4 L. v; |; L 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |