🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.bd.misc
2 messages
2 total messages Started by Gothic Armor Wed, 29 Mar 2006 20:44
Inyección SQL
#97
Author: Gothic Armor
Date: Wed, 29 Mar 2006 20:44
17 lines
2062 bytes
Estamos estudiando crear una funci�n de validaci�n para campos de 
formularios, de tal forma que eviten la Inyecci�n SQL. Despu�s de buscar 
por internet informaci�n al respecto, y realizar una peque�a prueba de 
PHP contra MySQL, nos ha sorprendido ver que autom�ticamente (con la 
versi�n 4.2.1 de PHP) el caracter <'> lo sustituye por <\'>, impidiendo 
de esa forma la Inyecci�n.
Nuestra duda es:
1.- �El PHP est�, por lo tanto, protegido por defecto contra la Inyecci�n?
2.- Una inyecci�n del tipo: <'; delete from nombretabla; --> a�n tiene 
sentido, ya que quedar�a: WHERE usuario = '\'; delete from nombretabla; 
-- AND contrase�a = ''>. Sin embargo el MySQL lo bloquea, �significa eso 
que MySQL solo ejecuta una consulta cada vez?
3.- �Esta vulnerabilidad s�lo est� presente en ASP contra MS SQL SERVER? 
�Se evitar�a con la sustituci�n de <'> por <\'> como en PHP?

Un saludo, y gracias de antemano,
      �ngel
Re: Inyecci�n SQL
#98
Author: Lex Sparrow
Date: Fri, 31 Mar 2006 01:01
37 lines
2286 bytes
Gothic Armor nos comentaba un dia en es.comp.bd.misc, y con tan sabias 
palabras, nos ense�o la luz:

> 1.- �El PHP est�, por lo tanto, protegido por defecto contra la Inyecci�n?

M�s bien no. PHP intenta establecer una forma de identificar los caracteres, 
como \n.

> 2.- Una inyecci�n del tipo: <'; delete from nombretabla; --> a�n tiene 
> sentido, ya que quedar�a: WHERE usuario = '\'; delete from nombretabla; 
> -- AND contrase�a = ''>. Sin embargo el MySQL lo bloquea, �significa eso 
> que MySQL solo ejecuta una consulta cada vez?

Si quieres hacer un sql injection tendria mas sentido usar "' OR 1=1 or 1='". 
De esta forma te aseguras la condici�n a true.


> 3.- �Esta vulnerabilidad s�lo est� presente en ASP contra MS SQL SERVER? 
> �Se evitar�a con la sustituci�n de <'> por <\'> como en PHP?

Vamos a ver, que tienes un cacao de cuidado. El SQL Injection es una tecnica, 
para la cual necesitas un SGBD y una pantalla o un campo donde hacerlo. Eso 
quiere decir que funciona con cualquier SGBD y con cualquier lenguaje.

Lex


-- 
Press Play Then Any Key
http://www.pressplaythenanykey.com/

FAQ de es.comp.lenguajes.php:
http://www.pclandia.net/escomplenguajesphp
http://faq.guatemalanetworks.com

Mi Freeware:
http://www.pclandia.net/lexsparrow/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads