¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Solucionar todas las Inyecciones en tu web [Programadores]

2 participantes

Ir abajo

Solucionar todas las Inyecciones en tu web [Programadores] Empty Solucionar todas las Inyecciones en tu web [Programadores]

Mensaje  Arbolito Mar Jul 03, 2012 2:41 pm

Post para todos los programadores webs, para la protección de su web a todas las inyecciones.

Evitar ataque SQL Injection:


Este error es el más común, es uno de los mas basicos pero unos de los mas
utilizados, yo he encontrado hasta webs del gobierno con este simple fallo.

El fallo es sencillisimo:

Código:
SELECT * FROM


El fallo de este codigo es el "*" que por ese pego alguien puede aplastar tu web.


La solución sería cambiarlo por:

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

Si quitamos la * y lo sustimos por un nombre mas concreto el bug quedaría corregido.







Evitar ataque HTML Injection:





Los ataques HTML injection se producen en la parte en el que el user tiene que escribir
(Buscadores, Formularios, Libros de visita). El fallo más común en los libros de visitas
(Un ejemplo) es "<h1>" cual esa es la principal pista de si tu web es vulnerable.
Un ejemplo sería "<h1> hola </h1>" que si es vulnerable al aceptar saldria las letras
mas grandes.

Para fixear este bug haremos lo siguiente:

Lo primero que haremos es coger cualquier cadena y transformarla o "encriptarla"
en entidades html

Por ejemplo: <h1> hola </h1> que quedaría asín -> &lt;holat&gt

Para eso utilizaremos el siguiente codigo


Código:
<?php
$Seguridad = htmlestities($_REQUEST['Elcomentarioquesea']);
echo $Seguridad;
?>

Asin no se mostrarían las letras más grandes ya que quedan transformadas
en unas entidades html.




Evitar ataque LFI:




Local File Inclusion significa la inclusión de los archivos internos de una web, los archivos
vulnerables.


Código:
<?php
$_GET['proteccion'] = str_replace(array('.','/','\\'),'',$_GET['proteccion']);
?>


Lo que hariamos hacer seria usar la funcion de php "str_replace" para eliminar los codigos utiles.


"str_replace" sirve para filtrar lo que necesiten para evitar lo que quieran borrar.





Evitar ataque RFI:





El RFI como lo indica la sigla, es un error de programacion en una web que nos permite ejecutar un archivo que tengamos subido a una web (atacante) en otra web (victima) . Cosa que en webs no vulnerables esto no tendria porque darse.

Lo que se busca para ver si una web es vulnerables es una variable en la web que lo sea, luego de esa variante se colocaria el codigo malicioso (nuestra shell)


Para prevenir este tipo de ataques, es posible utilizar o bien el indicador "./" para advertir que el archivo debe encontrarse en el directorio actual u otro indicador tal como "includes/". Ejemplo:

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


De esta forma no podría utilizar la variable page para RFI.






Evitar ataque DDos:



Un ataque DDos es un ataque que manda muchas peticiones al servidor
web hasta que acaba cayendose.


Para solucionar este problema podemos poner un ANTI-DOS o un captcha.
El captcha es una imagen con un texto aleatorio que sirve para identificarse, podeis verlo
y descargarlo del post que puse hace un tiempo de aqui:


[Tienes que estar registrado y conectado para ver este vínculo]




Evitar ataque Full Path Discloure:




Explotar esta vulnerabilidad no significa que podamos hacer grandes cosas, simplemente nos entregará información que podría ser utilizada para lo que uno estime conveniente.



Para corregirlo simplemente debemos agregar, a cada llamada de la función, la siguiente validación:



Código:
 <?php

error_reporting(O);






Agradecimientos: Pony

FUENTES:
Algunas partes han sido cogidas de google.
indetectables
Arbolito
Arbolito
Admin
Admin

Mensajes : 167
Fecha de inscripción : 27/06/2012

https://arbolito.foroactivo.mx

Volver arriba Ir abajo

Solucionar todas las Inyecciones en tu web [Programadores] Empty Re: Solucionar todas las Inyecciones en tu web [Programadores]

Mensaje  cobus Lun Ago 20, 2012 1:00 am

Pero no evitaría los ataque mas peligrosos hahha a menas que se cuente con una buena base de datos organizada y con la mas seriedad, si se habla de foroactivo es algo viable a ataques pero seria algo tonto atacar un foro ya que no tendrías el control total y de inmediato te votarian.

cobus
Arbolito
Arbolito

Mensajes : 2
Fecha de inscripción : 20/08/2012

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.