summaryrefslogtreecommitdiff
path: root/src/tests/deny_writable_execution.phpt
diff options
context:
space:
mode:
authorSebastien Blot2017-09-20 10:11:01 +0200
committerSebastien Blot2017-09-20 10:11:01 +0200
commit868f96c759b6650d88ff9f4fbc5c048302134248 (patch)
treec0de0af318bf77a8959164ef11aeeeb2b7bab294 /src/tests/deny_writable_execution.phpt
Initial import
Diffstat (limited to 'src/tests/deny_writable_execution.phpt')
-rw-r--r--src/tests/deny_writable_execution.phpt44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/tests/deny_writable_execution.phpt b/src/tests/deny_writable_execution.phpt
new file mode 100644
index 0000000..2870561
--- /dev/null
+++ b/src/tests/deny_writable_execution.phpt
@@ -0,0 +1,44 @@
1--TEST--
2Readonly execution attempt
3--SKIPIF--
4<?php
5if (!extension_loaded("snuffleupagus")) print "skip";
6
7$filename = __DIR__ . '/test.txt';
8
9@unlink($filename);
10
11file_put_contents($filename, 'a');
12chmod($filename, 0400);
13
14if (is_writable($filename)) print "skip";
15@unlink($filename);
16 ?>
17--INI--
18sp.configuration_file={PWD}/config/config_disable_writable.ini
19--FILE--
20<?php
21$dir = __DIR__;
22
23// just in case
24@unlink("$dir/non_writable_file.txt");
25@unlink("$dir/writable_file.txt");
26
27file_put_contents("$dir/non_writable_file.txt", '<?php echo "Code execution within a non-writable file.\n";');
28file_put_contents("$dir/writable_file.txt", '<?php echo "Code execution within a writable file.\n";');
29chmod("$dir/non_writable_file.txt", 0400);
30chmod("$dir/writable_file.txt", 0777);
31include "$dir/non_writable_file.txt";
32include "$dir/writable_file.txt";
33?>
34--EXPECTF--
35Code execution within a non-writable file.
36[snuffleupagus][0.0.0.0][readonly_exec][drop] Attempted execution of a writable file (%a/writable_file.txt).
37--CLEAN--
38<?php
39$dir = __DIR__;
40chmod("$dir/non_writable_file.txt", 0777);
41chmod("$dir/writable_file.txt", 0777);
42unlink("$dir/non_writable_file.txt");
43unlink("$dir/writable_file.txt");
44?> \ No newline at end of file