From a66d319581e760968fec94f7540a3b74537b8d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 4 Feb 2020 14:58:33 +0100 Subject: [PATCH] Fixed some XSS Bugs --- cis/index.php | 5 +++-- cis/private/stud_in_grp.php | 2 +- include/pgsql.class.php | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cis/index.php b/cis/index.php index f9e18cbda..a6ec16786 100644 --- a/cis/index.php +++ b/cis/index.php @@ -70,13 +70,14 @@ if(defined('CIS_CHECK_PASSWORD_CHANGE') && CIS_CHECK_PASSWORD_CHANGE==true) */ function validURLCheck($param) { - if(strstr($param,':')) + if (strstr($param,':') || strstr($param,'//')) { // Der APP_ROOT muss in der URL vorkommen, sonfern es kein relativer Pfad ist // HTTPS und HTTP if(mb_strpos($param, APP_ROOT)!==0 && mb_strpos(mb_str_replace("http://","https://", $param), APP_ROOT)!==0 - && mb_strpos(mb_str_replace("https://","http://", $param), APP_ROOT)!==0) + && mb_strpos(mb_str_replace("https://","http://", $param), APP_ROOT)!==0 + && $param != 'about:blank') { $text="Dies ist eine automatische Mail.\nEs wurde eine mögliche XSS Attacke durchgefuehrt:\n"; $text.="\nFolgende URL wurde versucht aufzurufen: \n".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; diff --git a/cis/private/stud_in_grp.php b/cis/private/stud_in_grp.php index abf3a67a1..d2f9e2d2c 100644 --- a/cis/private/stud_in_grp.php +++ b/cis/private/stud_in_grp.php @@ -183,7 +183,7 @@ else AND studiengang_kz=".$db->db_add_param($_GET['kz']); if (isset($_GET['sem'])) - $qry.=" AND semester=".$db->db_add_param($_GET['sem']); + $qry.=" AND semester=".$db->db_add_param($_GET['sem'], FHC_INTEGER); if (isset($_GET['verband'])) $qry.=" AND verband=".$db->db_add_param($_GET['verband']); diff --git a/include/pgsql.class.php b/include/pgsql.class.php index 52ac9b4f8..7e0333b9f 100644 --- a/include/pgsql.class.php +++ b/include/pgsql.class.php @@ -289,7 +289,7 @@ class basis_db extends db case FHC_INTEGER: $var = $this->db_escape($var); if(!is_numeric($var) && $var!=='') - die('Invalid Integer Parameter detected:'.$var); + die('Invalid Integer Parameter detected'); $var = $this->db_null_value($var, false); break;