这只是个小测试,验证一下自己的想法。
0 a9 c. K4 `- w很早的时候,就遇到过服务器不允许POST的情况
$ ^7 I) |% u" P% H. m& b6 R$ _当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
2 J: c* y0 {! x! Q) @" b |- [9 U- s这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?
9 ~8 p2 [# a, L6 D/ q7 a, Q x于是我就寻思着用GET的方式向刚才导出的一句话提交数据。# G4 N! J" r R+ a
今晚不是很忙,就写出来测试结果。
# A1 V. f& Y5 M, }0 Z% z在ASP环境下,一句话木马一般用2个函数执行:eval和execute。 r9 t2 J2 Z2 s2 I5 x
先来写个eval的一句话,然后用GET向他提交数据
8 E; v- [9 S! Q# O/ ~- G, g/ U: k1 w9 ]5 d/ R( n
. Y) A1 b; y" k+ u# I4 h* ]% v0 i" ^6 [ A& x
5 b$ L# G9 |" f% o9 w$ k& N7 @4 b* z
2 \7 P4 u9 a9 c8 h O I' f" ?5 P& C0 G; y7 o
& A! A7 O) N0 k( ?8 s- F5 y o
9 }. G7 c, S& P/ Q7 a9 e+ R, H; Y% [$ E9 A* O
) w1 D4 b2 V) A8 h+ v4 X: w, I/ p. Z% z R( ?# u
O) @. _% \6 t$ W0 c! j1 {4 Q
T- w, b2 u, C+ p- M: y提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
! r. _) @2 Q1 H/ L# f1 g- u' ]; j4 \; u) W/ k( B% t' @2 ]0 ~
4 L( e4 N x$ C9 ?+ ^ M0 Y a
# v: T) {1 G& ?/ z7 h/ j0 g9 v7 q: D/ W9 `( V4 _
结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
! ~; Q, @% }0 U% m+ H7 X1 ~& ?1 p |$ g/ u
' r: @1 ?; ^% ^
5 ]/ ?& a) [0 ~& P6 o3 c. D
1 O$ S' i% B3 a( s6 @4 G0 E/ S* P& b4 ` i, c. B& V! [; S' q
/ g" @2 _! F0 A: |) Z
3 g# ]0 d% |' z+ f: J看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试3 a' J$ D- z8 T- P
$ ~9 s) v" q) e, I
% J# F* }3 r+ _, `9 V( s# N' ]4 s" D% P$ M5 [! e. u
2 y0 w* ~/ W& S% D9 O- a9 {* Z
6 c2 u& \* }: S9 O
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |