这只是个小测试,验证一下自己的想法。- Y) Y& T( y+ J8 ^
很早的时候,就遇到过服务器不允许POST的情况
. C( I: M3 ~2 R; C7 y4 f5 e当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
* Y) W' s6 p+ ?这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?4 [/ {6 ^% Q' J0 t+ S% g! h3 a
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。7 v& G+ Y8 D) ~
今晚不是很忙,就写出来测试结果。5 Q% Q* w$ O$ ]& w a7 r; a
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
/ Z( n, j C1 Z9 n: g2 M; w7 W先来写个eval的一句话,然后用GET向他提交数据
* F9 b8 v; @5 @: ^3 C
) @! j8 a- F _% H% z# p$ J! o, M( p* e
5 Z) O- o" n3 A& ~6 Q* Y+ S/ [6 {9 r) u* x8 M3 J
+ r2 K& q' ]. S( B5 M* \
- Z; V9 m! n" F# r3 L
* g# d8 q g( D7 `0 h8 ~" u' y. S4 ^5 i4 O# x5 w$ d/ o
; z% O' Q' s; n* r+ N& E5 ?# r3 `6 N3 `: R5 ]; y
3 N; o' P" i( D9 |' u0 C& o
( _! x1 ^/ A. ~: [: d" q- B5 x: u8 [7 q: ?6 L. A# V: [
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
; c6 k! _- ?9 {1 s1 P
4 |8 | ?* P6 c R
0 J6 e3 w/ Y3 a7 i N& |
+ x& h: j1 V j- A- L; M) {/ o% g$ K; T7 d& H7 n0 O4 K
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:- t4 \. X1 S3 U5 ~/ I
/ L, }- S4 ?+ \0 @0 h( n
/ y) a2 ~) X2 {$ a H% m& ^+ n& Y. X2 E6 F
. ], N/ Y2 Z1 ?; a9 S# B) b- b
* Z- x) g: ?) j/ o" Y& L2 h
. \, ?0 f: W) [! w' o# V3 H$ I. i
& ]# T; Q q4 k8 T2 o8 ]看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试8 ^1 b& [! I' R" z# N/ y+ _1 d! H
* ^7 R0 y: x* d' |% y0 I
; [( x3 ^6 @$ }1 A7 q- Y1 F* p- [
( S& r( S$ c. o) \
1 T& m# ?: X z4 w$ | o6 i7 h6 \9 ~, q; m" Z
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |