FIX #yogosha9083
This commit is contained in:
parent
ba3856f9e9
commit
f0c5fe31f8
@ -97,15 +97,15 @@ function testSqlAndScriptInject($val, $type)
|
|||||||
//$val = preg_replace_callback('/&#(x?[0-9][0-9a-f]+;?)/i', 'realCharForNumericEntities', $val); // Sometimes we have entities without the ; at end so html_entity_decode does not work but entities is still interpreted by browser.
|
//$val = preg_replace_callback('/&#(x?[0-9][0-9a-f]+;?)/i', 'realCharForNumericEntities', $val); // Sometimes we have entities without the ; at end so html_entity_decode does not work but entities is still interpreted by browser.
|
||||||
$val = preg_replace_callback('/&#(x?[0-9][0-9a-f]+;?)/i', function ($m) {
|
$val = preg_replace_callback('/&#(x?[0-9][0-9a-f]+;?)/i', function ($m) {
|
||||||
return realCharForNumericEntities($m); }, $val);
|
return realCharForNumericEntities($m); }, $val);
|
||||||
|
|
||||||
|
// We clean string because some hacks try to obfuscate evil strings by inserting non printable chars. Example: 'java(ascci09)scr(ascii00)ipt' is processed like 'javascript' (whatever is place of evil ascii char)
|
||||||
|
// We should use dol_string_nounprintableascii but function is not yet loaded/available
|
||||||
|
$val = preg_replace('/[\x00-\x1F\x7F]/u', '', $val); // /u operator makes UTF8 valid characters being ignored so are not included into the replace
|
||||||
|
// We clean html comments because some hacks try to obfuscate evil strings by inserting HTML comments. Example: on<!-- -->error=alert(1)
|
||||||
|
$val = preg_replace('/<!--[^>]*-->/', '', $val);
|
||||||
} while ($oldval != $val);
|
} while ($oldval != $val);
|
||||||
//print "after decoding $val\n";
|
//print "after decoding $val\n";
|
||||||
|
|
||||||
// We clean string because some hacks try to obfuscate evil strings by inserting non printable chars. Example: 'java(ascci09)scr(ascii00)ipt' is processed like 'javascript' (whatever is place of evil ascii char)
|
|
||||||
// We should use dol_string_nounprintableascii but function is not yet loaded/available
|
|
||||||
$val = preg_replace('/[\x00-\x1F\x7F]/u', '', $val); // /u operator makes UTF8 valid characters being ignored so are not included into the replace
|
|
||||||
// We clean html comments because some hacks try to obfuscate evil strings by inserting HTML comments. Example: on<!-- -->error=alert(1)
|
|
||||||
$val = preg_replace('/<!--[^>]*-->/', '', $val);
|
|
||||||
|
|
||||||
$inj = 0;
|
$inj = 0;
|
||||||
// For SQL Injection (only GET are used to scan for such injection strings)
|
// For SQL Injection (only GET are used to scan for such injection strings)
|
||||||
if ($type == 1 || $type == 3) {
|
if ($type == 1 || $type == 3) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user