这只是个小测试,验证一下自己的想法。3 w( d) [$ C, N5 R b
很早的时候,就遇到过服务器不允许POST的情况 ~" { E$ J# V1 g3 u
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。0 L! `9 \; T6 A1 N* N
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢? }. j8 j0 O/ i5 r/ q f8 R( E# `
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。' e; Q5 `2 {) e& r$ { H. k
今晚不是很忙,就写出来测试结果。
8 H; D2 ^ e( X在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
8 S( T7 K' ?7 N6 g: `先来写个eval的一句话,然后用GET向他提交数据
N: [% T; V) b
$ I5 ^: i2 L0 @+ o
, ~# K+ m u- j
& n' l; N! Y0 d+ V; x/ @! {6 m8 m* S, [: E6 n
6 H) @+ f8 }4 Y% p9 C
% j: L$ \; p2 W. Y6 N
/ K. @6 E1 i; Y& _
( S6 j3 g( W4 J( z
& E! @5 T5 u, z c5 J" t0 D& o' P9 @# e1 z! \* ?! R2 y5 P
( u4 r7 D1 `* P& e/ r4 ?
2 Q* X$ O4 M% Q( f4 L C
& e& o0 F( W; q- m$ j5 a1 I' e
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
# {! X8 h5 u0 X. H+ j2 o3 Q3 k2 b. [ k9 k: u* ^5 l
/ U0 Y. X' D/ S- i6 Z
4 y& a w0 j- _, B" K
8 M* u! ^* g% @! ] 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:3 j2 @ N# q4 A5 B) C
7 Z0 u8 {& g* [* k( v- W- s5 q& F: l. G+ E) `) F
+ h7 I0 z0 a4 X6 h1 L! C
" q$ q4 t2 ]6 M; c/ s; z; o- ~9 @7 D0 o' l( M
/ j4 w& B" ~ m; D6 w5 y, [
' h; B1 i" [3 p+ _+ l% I4 V( C看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试, }8 {; u0 V3 X" B- M( q3 _; Y
0 G1 B& J: C3 t4 |! _! n; E8 f$ S# |9 r! o
: B# W" D t i3 B% ]2 Y7 Y" Y
; H' D1 Y2 Z+ X
% ~( t# v6 D1 i
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |