From 0ebf4f2cabef691a0a7d756c494929797e24eec4 Mon Sep 17 00:00:00 2001
From: Vikas <vikas@vtiger.com>
Date: Thu, 16 Jun 2016 12:48:43 +0530
Subject: [PATCH] xss and sql injection clean up

---
 include/utils/VtlibUtils.php       | 5 +++--
 modules/Portal/models/ListView.php | 6 +++---
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/include/utils/VtlibUtils.php b/include/utils/VtlibUtils.php
index 57852c7b8..b430388a1 100644
--- a/include/utils/VtlibUtils.php
+++ b/include/utils/VtlibUtils.php
@@ -667,8 +667,9 @@ function purifyHtmlEventAttributes($value){
                         "onreset|onsearch|onselect|onsubmit|onkeydown|onkeypress|onkeyup|".
                         "onclick|ondblclick|ondrag|ondragend|ondragenter|ondragleave|ondragover|".
                         "ondragstart|ondrop|onmousedown|onmousemove|onmouseout|onmouseover|".
-                        "onmouseup|onmousewheel|onscroll|onwheel|oncopy|oncut|onpaste";
-    if(preg_match("/\s(".$htmlEventAttributes.")\s*=/i", $value)) {
+                        "onmouseup|onmousewheel|onscroll|onwheel|oncopy|oncut|onpaste|onload|".
+                        "onselectionchange|onabort|onselectstart";
+    if(preg_match("/\s*(".$htmlEventAttributes.")\s*=/i", $value)) {
         $value = str_replace("=", "&equals;", $value);
     }
     return $value;
diff --git a/modules/Portal/models/ListView.php b/modules/Portal/models/ListView.php
index 2d45654e1..2e14293ad 100644
--- a/modules/Portal/models/ListView.php
+++ b/modules/Portal/models/ListView.php
@@ -33,7 +33,7 @@ class Portal_ListView_Model extends Vtiger_ListView_Model {
         
 		$listResult = $db->pquery($listQuery, array());
 
-		$listViewEntries = array();
+        $listViewEntries = array();
         
         for($i = 0; $i < $db->num_rows($listResult); $i++) {
             $row = $db->fetch_row($listResult, $i);
@@ -54,10 +54,10 @@ class Portal_ListView_Model extends Vtiger_ListView_Model {
     
     public function getQuery() {
         $query = 'SELECT portalid, portalname, portalurl, createdtime FROM vtiger_portal';
-        $searchValue = $this->get('search_value');
+        $searchValue = $this->getForSql('search_value');
         if(!empty($searchValue))
             $query .= " WHERE portalname LIKE '".$searchValue."%'";
-        
+
         return $query;
     }
 
-- 
GitLab