Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

--TEST-- Bug #7658 (modify archive with general bit flag 3 set) --EXTENSIONS-- zip --FILE-..

Decoded Output download

--TEST--
Bug #7658 (modify archive with general bit flag 3 set)
--EXTENSIONS--
zip
--FILE--
<?php
$expect = array(
    "mimetype",
    "Configurations2/statusbar/",
    "Configurations2/accelerator/current.xml",
    "Configurations2/floater/",
    "Configurations2/popupmenu/",
    "Configurations2/progressbar/",
    "Configurations2/menubar/",
    "Configurations2/toolbar/",
    "Configurations2/images/Bitmaps/",
    "content.xml",
    "styles.xml",
    "meta.xml",
    "Thumbnails/thumbnail.png",
    "settings.xml",
    "META-INF/manifest.xml",
);
$dirname = __DIR__ . '/';
include $dirname . 'utils.inc';
$file = $dirname . '__tmp_bug7658.odt';
$zip = new ZipArchive();
copy($dirname . 'bug7658.odt', $file);
if(!$zip->open($file)) {
    echo 'failed';
}


$zip->deleteName('content.xml');
$zip->addFile($dirname . "bug7658.xml","content.xml");
$zip->close();
echo "
";
$zip->open($file);

for($i=0; $i < $zip->numFiles; $i++) {
    $sb = $zip->statIndex($i);
    $found[] = $sb['name'];
}
$ar = array_diff($found, $expect);

var_dump($ar);
unset($zip);
unlink($file);
?>
--EXPECT--
array(0) {
}

Did this file decode correctly?

Original Code

--TEST--
Bug #7658 (modify archive with general bit flag 3 set)
--EXTENSIONS--
zip
--FILE--
<?php
$expect = array(
    "mimetype",
    "Configurations2/statusbar/",
    "Configurations2/accelerator/current.xml",
    "Configurations2/floater/",
    "Configurations2/popupmenu/",
    "Configurations2/progressbar/",
    "Configurations2/menubar/",
    "Configurations2/toolbar/",
    "Configurations2/images/Bitmaps/",
    "content.xml",
    "styles.xml",
    "meta.xml",
    "Thumbnails/thumbnail.png",
    "settings.xml",
    "META-INF/manifest.xml",
);
$dirname = __DIR__ . '/';
include $dirname . 'utils.inc';
$file = $dirname . '__tmp_bug7658.odt';
$zip = new ZipArchive();
copy($dirname . 'bug7658.odt', $file);
if(!$zip->open($file)) {
    echo 'failed';
}


$zip->deleteName('content.xml');
$zip->addFile($dirname . "bug7658.xml","content.xml");
$zip->close();
echo "\n";
$zip->open($file);

for($i=0; $i < $zip->numFiles; $i++) {
    $sb = $zip->statIndex($i);
    $found[] = $sb['name'];
}
$ar = array_diff($found, $expect);

var_dump($ar);
unset($zip);
unlink($file);
?>
--EXPECT--
array(0) {
}

Function Calls

None

Variables

$expect [{'key': 0, 'value': 'mimetype'}, {'key': 1, 'value': 'Configurations2/statusbar/'}, {'key': 2, 'value': 'Configurations2/accelerator/current.xml'}, {'key': 3, 'value': 'Configurations2/floater/'}, {'key': 4, 'value': 'Configurations2/popupmenu/'}, {'key': 5, 'value': 'Configurations2/progressbar/'}, {'key': 6, 'value': 'Configurations2/menubar/'}, {'key': 7, 'value': 'Configurations2/toolbar/'}, {'key': 8, 'value': 'Configurations2/images/Bitmaps/'}, {'key': 9, 'value': 'content.xml'}, {'key': 10, 'value': 'styles.xml'}, {'key': 11, 'value': 'meta.xml'}, {'key': 12, 'value': 'Thumbnails/thumbnail.png'}, {'key': 13, 'value': 'settings.xml'}, {'key': 14, 'value': 'META-INF/manifest.xml'}]

Stats

MD5 b48169e4826ad1e40188d4ef512abac6
Eval Count 0
Decode Time 75 ms