这只是个小测试,验证一下自己的想法。( X" J; c; I2 J9 x/ Z
很早的时候,就遇到过服务器不允许POST的情况& U) c+ P8 }: Z& h
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
2 R& H9 M7 O2 ~% `1 G: y' x这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?; ?2 F' {9 o8 z5 g( N V6 W
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
* Q e1 y; `/ m4 y今晚不是很忙,就写出来测试结果。; G$ \: U* \& } e4 |
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
3 M, }7 |' \& }先来写个eval的一句话,然后用GET向他提交数据
/ }& _" r) E; D3 H4 y7 \
" E+ M8 }" m3 b. b( @( Q$ f& K$ l! G n \
, C6 L+ d3 Z8 D; v
9 y# |- b/ |* L1 ?% b4 V. [
. n: v% W) J7 v S- K% d
~1 B3 v1 O. L6 m9 S
" W. j& q& [0 m" n1 f! W6 m8 I! r" G6 @+ T3 q
5 l. \' V7 s- G0 {' q+ a9 o
( L4 w8 P+ e4 }* P+ }- c+ I5 h
6 e0 t8 K6 U. Q. y2 E1 b- x! E7 ]( B* S& Y3 Z& I# @
3 C0 Q; \& J1 T1 O) r) p& k5 M+ }提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:6 {+ U7 J1 S: c. K
( x7 P2 P0 ?. y0 Y
. U0 n- w1 s- b- z) j i
7 M4 |9 u/ i8 k- H3 B: S( B. _# h% G( i# D. g) T' r# I
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:0 \* q; S1 s1 V' |8 z
% s+ F0 O9 g# ?3 W7 [) r9 F$ t4 g6 t- H
- G6 T. F5 h& B( R8 v5 e
8 z( W$ o4 u& V- v$ M R$ f9 Q' P
) p; v1 o8 T _9 d" b, g
% ]0 d) D9 g8 Y: {) \3 `- @
3 ?8 ^6 N6 S& d5 H# s看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
% Y6 `) [% v' F- U, W* V, y6 _9 n% @) m) \
' Y+ ~' |% N. c R2 z9 m- l
6 D5 ~( n! Z2 d) C3 l" Q
6 j# P; p$ ?0 M8 [, B* ^1 l
& R0 L! o( w# O! H; r3 h 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |