这只是个小测试,验证一下自己的想法。
/ I9 R$ D" j! T% U' t, Y很早的时候,就遇到过服务器不允许POST的情况
1 }) \# i1 u, ]当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
~" V9 D0 t' B) t4 d& M9 w! s) O这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
& L& u% H5 {2 w8 b于是我就寻思着用GET的方式向刚才导出的一句话提交数据。9 h: x) L* K9 t( O) D( Z
今晚不是很忙,就写出来测试结果。
+ M! s6 P. r+ ^8 v% ~在ASP环境下,一句话木马一般用2个函数执行:eval和execute。' p& L. s" I. r
先来写个eval的一句话,然后用GET向他提交数据
% p1 {, d4 l1 o8 ^1 g( i+ B `0 r* ]( E1 ^. @& O
$ b* y) |" g( G* e5 A% b$ b$ Q# ^& F& z5 ~2 P& l3 l
" A) n4 l* v- ~* s7 {$ G
; y) a1 N) M. ?- T9 X! B) S' N7 i1 Z J4 c) c/ H
" j) v U; N" [8 b3 Q2 r8 k5 \
; r, M. x7 `4 K F& c0 t
7 m U" K; n: g7 l+ `, A4 N' [$ |
. M: |- ?% l: {# t, ]
: ~/ e. p2 ?- @: h9 b% X
4 u! B* C; c: c1 ?- Z) L提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
2 C7 f8 r' c& r0 i, u8 _1 Y' |, w+ @ q& z7 l) O
( t Q% S+ p/ g! m, n
- O7 w: Q7 f. e; l* `. S
( P r a0 s$ V- r- I( D3 a
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:7 E* {1 V @* P, ]. M1 n( A
; q E4 ~/ M7 C, l; ^0 L& A( ~' N) a6 K
7 Q; p! \% Z2 x7 ?( r' {. @
Y! E0 k* X1 t2 v) a6 \6 |) o* J2 u& z
3 w+ f( `3 }) K; N
u4 H$ z* r) N# a看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
3 c9 {" W( l% D* Q1 k3 D7 Z) a
4 U. p+ B9 X _# n( ]# q/ z9 U$ C9 d H: M. \
' W* I: x5 e; a1 d1 R6 E0 x
/ s* w. p1 r* I" m
+ b, b b* I1 ` c7 k7 m0 n; l 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |