这只是个小测试,验证一下自己的想法。
6 p9 c4 H9 a7 j' X' T3 G4 L7 ` M很早的时候,就遇到过服务器不允许POST的情况
+ o) T: U* H5 V( n9 X' J" m当时因为忙,就没有深入的去想,昨天又遇到一次,是个后台带SQL语句执行的,导出个一句话之后发现菜刀连不上,不允许POST。
, T2 a/ w2 H! Q9 A$ X5 \0 P这个时候,不可能直接SQL执行导出个大马的,那该怎么办呢?% d5 e$ C4 J, w" x+ r
于是我就寻思着用GET的方式向刚才导出的一句话提交数据。/ c! s/ N8 v! E5 p
今晚不是很忙,就写出来测试结果。
/ P$ E7 R9 ^* u8 _( L# ^在ASP环境下,一句话木马一般用2个函数执行:eval和execute。
+ u# D7 I) l$ `5 C先来写个eval的一句话,然后用GET向他提交数据
3 `2 S9 L8 x/ _' A8 X
. Z; e! D/ b I8 V* F) d' t) M2 b" G: _$ P- c0 K) }
( [ k% q X2 j) n" k! v
. g, d9 c$ a' C4 U. y U
! h7 p) I) M; s/ l8 v6 H; C
6 f' ?) m0 z* E$ G, y P% {6 M
7 ?' U7 `+ M$ w$ j$ M, n$ j( V* i# W( J# E: t5 j/ N/ f& K6 u/ y0 c
, G; T" `9 e6 B' ]$ u
. T: b' Q3 s* r# y
- C; }3 W, [% X! I+ p! I% C1 h' a4 ?5 B. M
( K3 V# d6 N1 h- c$ {
提示语法错误,数据并没有成功保存。 这让我想起了之前看到过的一篇文章,说eval执行的时候对参数的长度是有限制的,而我现在用的一句话木马连接客户端用了2个参数,虽然我已经尽量把第二个参数简单化了,但是貌似还是超出长度了。 下面来试试execute:
- W! I# ~, [9 O
6 g& ~/ z4 g2 H5 ?2 f, S
# ]6 a6 K* P' ^# x) H9 l6 X3 v8 D8 M3 q2 l& |+ ^3 ]
1 y$ {4 m. N9 K0 x+ L: L B 结果我发现单击“提交”按钮时页面没有反应,我换了opera浏览器来运行一句话客户端,发现大马被提交了一部分,但并没有完全被写入:
* C ?, {: M" \+ P9 ?% {& e' W3 V, n. U4 |$ U' \1 N( b' U
" X+ C4 R* [( M1 m
, c6 }6 T3 Y( L6 F& f: p1 D m
9 C7 z& T) R4 [. J. d t: {( a( Z" i+ i3 t
0 q! ^% n+ K! l% a( H j5 u! A$ `+ a
# d/ n. c: A8 C% x3 z看来数据量还是太大了。 那么这个时候,来提交个ASP的下载脚本试$ j9 B: b! j. F
$ Z; Y$ r6 i* L- `. t) s2 Y* Q2 Z- O; _: |6 p8 F
8 z M; `' m ?6 s. r7 b8 {- w
8 r* m; e& \: Q
8 a6 J+ i8 u/ x8 r# I
结果表明:完全没有问题。 至此,遇到的不能POST的限制完美突破,虽然麻烦点。 |