Показать сообщение отдельно
Старый 18.11.2014, 06:32   #3324
zuzzz
 
Регистрация: 24.02.2011
Сообщений: 75
Репутация: 7
По умолчанию

в IPB есть код запрещающий выполнение sql запросов, которые содержат подзапросы. Т.е. проверяется слово union и select. Можно ли эту проверку обмануть при sql инъекции?

Код:
				
if ( preg_match( "#(?:/\*|\*/)#i", $_tmp ) )
{
	$this->throwFatalError( "You are not allowed to use comments in your SQL query..." );
	return false;
}

if ( preg_match( "#[^_a-zA-Z]union[^_a-zA-Z]#s", $_tmp ) )
{
	$this->throwFatalError( "UNION query joins are not allowed..." );
	return false;
}
else if ( preg_match_all( "#[^_a-zA-Z](select)[^_a-zA-Z]#s", $_tmp, $matches ) )
{
	if ( count( $matches ) > 1 )
	{
		$this->throwFatalError( "SUB SELECT query joins are not allowed..." );
		return false;
	}
}
zuzzz вне форума   Ответить с цитированием