[Ajuda] sql injection
#1

Olб galera preciso de uma ajudinha sobre sql incjetion.

Code:
mysql_real_escape_string(PlayerName(playerid), Nome);
mysql_real_escape_string(Encriptar(inputtext), Senha);
mysql_format(MysqlConnect, string, "INSERT INTO contas (Nome,Senha,Email,LembrarSenha)\
VALUES ('%s','%s','N','N')",Nome,Senha);
mysql_function_query(MysqlConnect, string, false, "", "");
Sу fazendo isso jб estou seguro ?


E antes de tudo agradeзo a todos que responderem. Obrigado!
Reply
#2

Desculpe nгo intendi sua duvida !
Reply
#3

Tem na wiki sa-mp, funзгo do MySQL. Sobre o SQL Injection, й necessбrio usar o mysql_format

Um exemplo
pawn Code:
new string[128], senha[50], Nome[24];
GetPlayerName(playerid, Nome, sizeof(Nome));
mysql_real_escape_string(PlayerInfo[playerid][Senha], senha);
mysql_format(conexao, string, sizeof(string), "INSERT INTO contas (Nome, Senha) VALUES ('%s', '%e')", Nome, senha);
%e = escape string
%s = string comum

Sу se usa o escape string em textos, onde й digitado algo. No nome nгo й necessбrio.

https://sampwiki.blast.hk/wiki/MySQL#mys..._escape_string
https://sampwiki.blast.hk/wiki/MySQL#Format_strings
Reply
#4

mas o mysql_format se usar com %e ele ja escapa a string nao precissa chamar o mysql_real_escape_string antes
Reply
#5

Nickvj7 e P1c4550, muito obrigado !

@Edit
P1c4550 й preciso usar mysql_real_escape_string.
Reply
#6

Quote:
Originally Posted by P1c4550
View Post
mas o mysql_format se usar com %e ele ja escapa a string nao precissa chamar o mysql_real_escape_string antes
Й, isto realmente tб na wiki, vou fazer uns testes aqui.

Quote:
Originally Posted by valdirdd
View Post
Nickvj7 e P1c4550, muito obrigado !

@Edit
P1c4550 й preciso usar mysql_real_escape_string.
teste colocar alguns caracteres que dк problemas em update/select/insert.
Exemplo: '
Reply
#7

Use tambйm mysql_store_result e mysql_free_result , da pra fazer inъmeras coisas, sistemas de seguranзa entre outras func.

@wiki.sa-mp.com:
mysql_real_escape_string.
Important Note: Sempre use esta funзгo (se vocк nгo usar mysql_format ()) antes de inserir as entradas do usuбrio em uma consulta. Vocк pode ser vнtima de uma injeзгo de SQL, se vocк nгo fazк-lo.


@Linux: Й уtimo em seguranзa e para ser atacado somente por exploits voltados para Linux.
Mas vai da capacidade da pessoa, nгo adianta ter as melhores ferramentas e nгo saber usar ou ler em inglкs.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)