Jump to content

Injecções SQL


Saddam
 Share

Recommended Posts

Não são as variáveis GET e POST, são todos os dados que sejam fornecidos pelo utilizador, não têm que vir necessáriamente dos prâmetros do pedido HTTP. Dependendo do contexto ele pode nem ter acesso aos mesmos.

No caso particular de injecções de SQL são todos os dados que possam ser inseridos pelo utilizador que sejam usados em queries SQL.

Sempre que uses um valor numérico num query passa-o pelas funções intval() ou floatval() dependendo se é um inteiro um um float.

Se for uma string parsa-a ('escapa-a' usando uma tradução à bruta) com o método e os parâmetros adequados. A função mysql_real_escape_string() é a mais indicada se estiveres a usar bases de dados mysql e se tiveres as defenições de escaping default no PHP, provavelmente é o teu caso.

Link to comment
Share on other sites

Não são as variáveis GET e POST, são todos os dados que sejam fornecidos pelo utilizador, não têm que vir necessáriamente dos prâmetros do pedido HTTP.

Quanto mais podes dizer que não são só as variáveis GET e POST, apesar da grande maioria dos ataques serem através de vulnerabilidades detectadas nestas variáveis

MCITP-MCTS-MCP

Link to comment
Share on other sites

Alem de filtrares muito bem o que vem do utilizador ($_GET, $_POST, $_COOKIE) usa parametros para o SQL.

Em vez de

$sql = "update login set password='{$_POST['newpass']}' where id={$_POST['id']}";

usa

$safepass = mysql_real_escape_string($_POST['newpass']);
$safeid = 1 * $_POST['id'];
$sql = "set @newpass = '$safepass'; set @id = $safeid; update login set password=@newpass where id=@id";

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.