From 2949ece61602372cf55fba6be4522fa8899fb70d Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 4 Nov 2012 12:21:47 +0100 Subject: unit test for tar bombs --- _test/tests/inc/tar.test.php | 18 ++++++++++++++++++ _test/tests/inc/tar/tarbomb.tgz | Bin 0 -> 183 bytes 2 files changed, 18 insertions(+) create mode 100644 _test/tests/inc/tar/tarbomb.tgz (limited to '_test/tests') diff --git a/_test/tests/inc/tar.test.php b/_test/tests/inc/tar.test.php index 47851fd4c..e8805a75d 100644 --- a/_test/tests/inc/tar.test.php +++ b/_test/tests/inc/tar.test.php @@ -298,4 +298,22 @@ class Tar_TestCase extends DokuWikiTest { @unlink($tmp); } + /** + * Extract a tarbomomb + */ + public function test_tarbomb() { + $dir = dirname(__FILE__).'/tar'; + $out = sys_get_temp_dir().'/dwtartest'.md5(time()); + + $tar = new Tar(); + + $tar->open("$dir/tarbomb.tgz"); + $tar->extract($out); + + clearstatcache(); + + $this->assertFileExists($out.'/AAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB.txt'); + + TestUtils::rdelete($out); + } } \ No newline at end of file diff --git a/_test/tests/inc/tar/tarbomb.tgz b/_test/tests/inc/tar/tarbomb.tgz new file mode 100644 index 000000000..8418d4073 Binary files /dev/null and b/_test/tests/inc/tar/tarbomb.tgz differ -- cgit v1.2.3