summaryrefslogtreecommitdiff
path: root/tests/modcss.php
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2012-09-09 20:23:56 +0200
committerThomas Bruederli <thomas@roundcube.net>2012-09-09 20:23:56 +0200
commit99d9f50a0000447d0a752e6c43716237dc0da176 (patch)
tree0b958b9711d09c4da74f076e1b902ffa32a4a0a1 /tests/modcss.php
parenta1303514933afe2d867067e4b95412c79652c89b (diff)
parent4e383e2ec8b4184c0fe74d02cf30fd3a4078128e (diff)
Merge branch 'master' of github.com:roundcube/roundcubemail
Diffstat (limited to 'tests/modcss.php')
-rw-r--r--tests/modcss.php45
1 files changed, 0 insertions, 45 deletions
diff --git a/tests/modcss.php b/tests/modcss.php
deleted file mode 100644
index 945cac318..000000000
--- a/tests/modcss.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/**
- * Test class to test rcmail_mod_css_styles and XSS vulnerabilites
- *
- * @package Tests
- */
-class rcube_test_modcss extends UnitTestCase
-{
-
- function __construct()
- {
- $this->UnitTestCase('CSS modification and vulnerability tests');
- }
-
- function test_modcss()
- {
- $css = file_get_contents(TESTS_DIR . 'src/valid.css');
- $mod = rcmail_mod_css_styles($css, 'rcmbody');
-
- $this->assertPattern('/#rcmbody\s+\{/', $mod, "Replace body style definition");
- $this->assertPattern('/#rcmbody h1\s\{/', $mod, "Prefix tag styles (single)");
- $this->assertPattern('/#rcmbody h1, #rcmbody h2, #rcmbody h3, #rcmbody textarea\s+\{/', $mod, "Prefix tag styles (multiple)");
- $this->assertPattern('/#rcmbody \.noscript\s+\{/', $mod, "Prefix class styles");
- }
-
- function test_xss()
- {
- $mod = rcmail_mod_css_styles("body.main2cols { background-image: url('../images/leftcol.png'); }", 'rcmbody');
- $this->assertEqual("/* evil! */", $mod, "No url() values allowed");
-
- $mod = rcmail_mod_css_styles("@import url('http://localhost/somestuff/css/master.css');", 'rcmbody');
- $this->assertEqual("/* evil! */", $mod, "No import statements");
-
- $mod = rcmail_mod_css_styles("left:expression(document.body.offsetWidth-20)", 'rcmbody');
- $this->assertEqual("/* evil! */", $mod, "No expression properties");
-
- $mod = rcmail_mod_css_styles("left:exp/* */ression( alert(&#039;xss3&#039;) )", 'rcmbody');
- $this->assertEqual("/* evil! */", $mod, "Don't allow encoding quirks");
-
- $mod = rcmail_mod_css_styles("background:\\0075\\0072\\006c( javascript:alert(&#039;xss&#039;) )", 'rcmbody');
- $this->assertEqual("/* evil! */", $mod, "Don't allow encoding quirks (2)");
- }
-
-}