这只是个小测试,验证一下自己的想法。
7 I0 f+ \4 ~ I很早的时候,就遇到过服务器不允许POST的情况, h/ B$ ~# J) r2 o& ?4 A# m
当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。 t: L* l6 w# n- o- z5 t
这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?; s! |4 x# a8 ^) v# i
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。
5 g- y* V% ^7 v& i, n! v+ p) E今晚不是很忙,就写出来测试结果。- e ?. O" Q7 a1 S* U. B( T+ P
在ASP环境下,一句话木马一般用2个函数执行:eval和execute。" {( N3 ^" f6 p0 {3 |( v
先来写个eval的一句话,然后用GET向他提交数据
, y3 S& D; s/ {5 U" O( \. j/ c0 n# ^
' E1 F) W" c m" p- ?
s& B8 m% S' Y% [0 A5 U4 d' y
4 i+ n2 d% N5 r( t
6 C4 c2 }+ x0 M% l1 h* y1 k
. @9 F; _- |- F& w# d( Q# ?, b1 l; [3 x6 n: Y+ I' @" r
+ x5 V% O" } ]3 I
( a' t1 L$ e0 I) S* B: X
* d5 G* C, ~0 S0 W2 A& H
% d" v3 \( x. b B0 |% `7 F. H
7 z& s6 N: }3 C提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
! O( I$ X6 o2 `- F. {
- X: K% k& R* r
1 Z* P( U+ p5 Z" u8 W$ H" N2 W) R/ S/ C+ m1 t0 v
5 A v! m; F0 M: J+ @$ e
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
8 E# @3 }3 G" p5 ~9 k6 ~. o
. w7 s; D' E; ]7 F5 \' p% E v8 O& S; d, Y3 h1 G4 }' z/ Y
% ?$ l v! A5 R6 v3 P) \; Q5 V" Y
4 B4 s& Z6 I# ?9 L( x
, @( M/ O- L" {8 p' @
$ U ]9 c8 z8 U ' _* s9 f9 P! o+ Z s
看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试
+ \9 q3 [$ q- U* d, C8 t k& _0 q- P0 Q
4 \ C0 ?2 \$ z
# ~7 Y. p! @% L' L8 Z
* X2 h( K# t) ~! z) D q( d& S; J9 Q
0 ~, n# `% b0 U; G0 m 结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |