@@ -99,7 +99,7 @@ function test_sql_and_script_inject($val, $type)
...
@@ -99,7 +99,7 @@ function test_sql_and_script_inject($val, $type)
$sql_inj+=preg_match('/base[\s]+href/si',$val);
$sql_inj+=preg_match('/base[\s]+href/si',$val);
$sql_inj+=preg_match('/<.*onmouse/si',$val);// onmousexxx can be set on img or any html tag like <img title='...' onmouseover=alert(1)>
$sql_inj+=preg_match('/<.*onmouse/si',$val);// onmousexxx can be set on img or any html tag like <img title='...' onmouseover=alert(1)>
$sql_inj+=preg_match('/onerror\s*=/i',$val);// onerror can be set on img or any html tag like <img title='...' onerror = alert(1)>
$sql_inj+=preg_match('/onerror\s*=/i',$val);// onerror can be set on img or any html tag like <img title='...' onerror = alert(1)>
// $sql_inj += preg_match('/onfocus\s*=/i', $val); // onfocus can be set on input text html tag like <input type='text' value='...' onfocus = alert(1)>
$sql_inj+=preg_match('/onfocus\s*=/i',$val);// onfocus can be set on input text html tag like <input type='text' value='...' onfocus = alert(1)>
@@ -185,6 +186,22 @@ class CodingPhpTest extends PHPUnit_Framework_TestCase
...
@@ -185,6 +186,22 @@ class CodingPhpTest extends PHPUnit_Framework_TestCase
}
}
}
}
$this->assertTrue($ok,'Found a $_SERVER[\'QUERY_STRING\'] without dol_escape_htmltag around in file '.$file['fullname'].' ('.$val[1].'$_SERVER[\'QUERY_STRING\']). Bad.');
$this->assertTrue($ok,'Found a $_SERVER[\'QUERY_STRING\'] without dol_escape_htmltag around in file '.$file['fullname'].' ('.$val[1].'$_SERVER[\'QUERY_STRING\']). Bad.');
// Test that output of $_SERVER\[\'PHP_SELF\'\] is escaped (not done for the moment, did not found a way to forge value of $_SERVER['PHP_SELF'] by extern access).
/*$ok=true;
$matches=array();
// Check string ='".$this->xxx with xxx that is not 'escape'. It means we forget a db->escape when forging sql request.
$this->assertTrue($ok, 'Found a $_SERVER[\'PHP_SELF\'] without dol_escape_htmltag around in file '.$file['fullname'].' ('.$val[1].'$_SERVER[\'PHP_SELF\']). Bad.');