这只是个小测试,验证一下自己的想法。1 V. t4 q5 |5 G- t& X4 ~
很早的时候,就遇到过服务器不允许POST的情况9 y( U/ V7 \: L8 q! r+ h
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。% L( n0 c- Z" Q! X! }
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
' k! {5 s( ~: u7 c6 e于是我就寻思着用GET的方式向刚才导出的一句话提交数据。- D c, _! {2 L, v
今晚不是很忙,就写出来测试结果。. U( ]3 f+ I! l
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。5 n- T: S6 s3 i( j+ q8 }
先来写个eval的一句话,然后用GET向他提交数据/ k: q6 k; g) I
4 [, [% N. E1 e! I8 ?) Q
9 O8 t/ p" l5 z( K# W; x+ D- k3 t* J
6 d: Y( }8 {3 q8 B
* ?6 L% l- i% r I1 K8 m# \
: y* h0 \" |6 u2 j% k* }8 y; Y
" A% f- t- w. h' r# p9 M1 e) {
# F5 u9 L/ ?; p$ ?2 y3 M+ S& A" q/ u- y5 |+ A1 \5 p- o8 J
0 d4 D% }, y9 u
" H5 D' D" V8 f) n" a7 L
. l4 ]- T* d; s- D8 Q! P4 _9 d6 t# i, c! x6 W/ D* j8 c
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
: L0 C3 V& {$ f: ]& {! ~6 F# x0 H( e. S/ A& c" B. M F
# S! C) b. T4 v7 C* G n
- z- Q5 U3 `( O( j7 e3 z& g: M8 X, A! W1 j& F/ C) y f
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
( u# T- {" g; p1 j' ^9 G7 |
! i/ ^, a0 l; N/ ]- c$ N( S# f5 ?3 Y4 |/ ?" F V8 k# K
6 V6 b3 ~2 Y7 y0 q4 M- _
% h4 Q* W% q3 Y9 S5 |7 l3 ^; W+ Q
; g7 u n) u4 o2 n. X4 L& E7 C
6 l M1 F' a! T# b5 c5 u" X
% Y; \. _! J v/ S7 ^看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
! W7 l. j) u1 D4 }& b
: d. B1 } H' G/ ]7 A* H% Z4 O# ?9 L; _) N6 _( G
5 m' m# ~4 U! D
/ A3 C! y7 v9 V* C" ~
4 K2 m. t/ j* g7 y
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |