Página 2 de 3

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 31 May 2010, 18:13
por _Dei_Rockito_
Muy bueno amiguito , interesante , lo voi a chusmiar ; ) . Y muy completo tambien

Gracias !

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 31 May 2010, 19:53
por Skillmax
Gracias a vosotros amigos!




Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 02 Jun 2010, 06:13
por Skillmax
MichBukana escribió:esto sin duda sirve muchísimo a los que no se atreven a empezar a montar su propia web por temor a estos tipos de ataques pues esto ayuda mucho de corazon muchas muchas gracias incluso a los que ya la tienen montada y no saben en que están fallando para evitar estos ataques un saludo maquina! no me atravo mucho a decirlo pero pienso que una chincheta lo merece este post

Sí gracias amigo, ya está en chincheta


Se agradece el comentario bro..

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 08 Jun 2010, 17:20
por RoLyxRoLy
gracias por la info. cuando me haga una y la use voy a usarlos. (me hice pero no la uso) :)

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 08 Jun 2010, 19:36
por Skillmax
RoLyxRoLy escribió:gracias por la info. cuando me haga una y la use voy a usarlos. (me hice pero no la uso) :)

Gracias a ti amigo!

Cualquier cosa avisa

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 10 Jun 2010, 16:21
por nemusa
Hola, nada mas te queria decir que :

SELECT * FROM no es para nada un bug y menos una inyeccion SQL, lo unico que puede ocasionar un mal rendimiento del servidor si se utiliza mal, por eso es mejor definir las filas a pedir.

una injeccion SQl seria no filtrar cualquier variable externa, por ejemplo:
<?
$id=$_GET['id']; // o $_POST .. etc esta variable pasa directa a la llamada sin filtarse entonces pueden injectar codigo poniendo ' falcilmente.
mysql_query("SELECT * FROM users WHERE id='$id'");
?>
rapida solucion a esto:
addslashes($_GET['id']); pero hay muchas otras formas dependiendo del tipo de valor, numerico, etc
la mejor seria utilizando mysqli_real_escape_string(); para querys a la db, haciendote una buena funcion o clase y luego implementarla facilmente.


Saludos

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 25 Ago 2010, 06:24
por topcat_42
Una información completamente inutil y desactualizada.

Este foro ha caido tanto ...

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 25 Ago 2010, 08:46
por Skillmax
Buenas topcat que tal, ya has tenido tu minuto de oro, ahora dejame que te actualize un poco esto y te deje algunas cosas claras.


Para solucionar SQL

Código: Seleccionar todo

$id = (int)$_GET['id'];
$query = mysql_query( "SELECT * FROM noticias WHERE id = '$id'");

Full path Disclosure

Código: Seleccionar todo

<?php

error_reporting(0);

?>

Lo demás todo correcto, ahora sí, vuelve a comentar los fallos, y si algun moderador quiere corregirlo en el post principal, adelante.

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 26 Ago 2010, 18:38
por topcat_42
OK OK no te molestes, mira te explico un poco, al momento que tu usas el * estas llamando todo el contenido de esa DB, después le metes un filtro, quedando que llame todo el contenido que tenga in ID == a tu variable. Esta inyección que tu mencionas con los nuevos servidores ya ha quedado casi obsoleta, incluso, uno como programador siempre recurre a limpiar las variables para evitar las semi-inyecciones, en estos casos un simple str_replace ayuda para frenar las inyecciones.

Un dato, y mira que si lo recomiendo, NUNCA pongan únicamente un limitador de caracteres en javascript, ya que tal ves al momento de escribir no te deje anexarlos pero al momento de enviar la info con el mendigo tamper data pueden inyectarte el código, lo mejor es poner el javascript y reforzarlo con el php.

P.D. Apoco ya se termino mi minuto de oro???

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 26 Ago 2010, 18:44
por Skillmax
topcat, será algún fallo en la visión, pero donde se utiliza * aquí estamos utilizando:

Código: Seleccionar todo

$id = (int)$_GET['id'];
$query = mysql_query( "SELECT * FROM noticias WHERE id = '$id'");
Este codigo no permite la entradas tipo "noticias?id=123"

Te equivocas, está inyección para nada a quedado obsoleta y aún la sigo viendo, lo de javascript y php, ya lo sabemos, no es nada nuevo amigo, ahora mi pregunta es, ¿Qué fallos ves?, me interesaria que me lo dijeras, para asin solucionarlo.


Para evitar RFI estamos usando str_replace, asin que lo que tú dices es lo que está puesto, es cuestión de fijarse.

Código: Seleccionar todo

$archivo = str_replace(".","",str_replace("http","",$_GET['archivo']));
if(!file_exists($archivo))
{
       die("El archivo no existe");
}
include("./".$archivo.".php");


Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 06 Dic 2010, 05:03
por [?]
Tengo una pequeña pregunta n.n! te falto el [SSL] el [DNS] [XST] son los que se estan explotando actualmente y perdon por corregier u.u! pero el metodo sql tiene muchas variantes seria mejor poner el metodo [INTELIGENT MYSQL] ya que (ID) estan solo un pequeño paso de lo que Realmente es .. =D


Editado no escribas en negrita

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 16 Dic 2010, 23:09
por Spectrus
Skillmax me encantan tus posts eres mi idolo.
Saludos compañero

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 08 Ene 2011, 14:39
por TheSur
Skillmax escribió:topcat, será algún fallo en la visión, pero donde se utiliza * aquí estamos utilizando:

Código: Seleccionar todo

$id = (int)$_GET['id'];
$query = mysql_query( "SELECT * FROM noticias WHERE id = '$id'");
Este codigo no permite la entradas tipo "noticias?id=123"

Te equivocas, está inyección para nada a quedado obsoleta y aún la sigo viendo, lo de javascript y php, ya lo sabemos, no es nada nuevo amigo, ahora mi pregunta es, ¿Qué fallos ves?, me interesaria que me lo dijeras, para asin solucionarlo.


Para evitar RFI estamos usando str_replace, asin que lo que tú dices es lo que está puesto, es cuestión de fijarse.

Código: Seleccionar todo

$archivo = str_replace(".","",str_replace("http","",$_GET['archivo']));
if(!file_exists($archivo))
{
       die("El archivo no existe");
}
include("./".$archivo.".php");
¿Para que parseas a entero la entrada si luego en el motor sql la tratas como cadena?. Si el parámetro 'id' fuera un string en vez de un entero, ¿tambien lo parsearias a entero? ..

Re: Solucionar todas las Inyecciones en tu web [Programadore

Publicado: 23 Ene 2011, 13:53
por DD
Gracias SkillMax,

Solo que te faltaron muchas vulnerabilidades muy importantes, como es SSI.
O la bastante conocida CSRF.

Pero woa! debo de aprender PHP a fondo!