Banner 1

Html Injections .¿El Porque? y ¿Como Solucionarlos? By OzX

las inYecciones Html , es un fallo muy comun en los programadores, que no tienen mucha referencia de las malas intenciones de los usuarios, ellos simplemente hacen que funcione- Pero no se fijan en la Seguridad.

Filtros Php para no Interpretar Codigo Html y Dejarlo en Texto Plano.

Código:
htmlentities
Veremos Primero un Caso Vulnerable y Luego como Solucionarlo.

Anexo:
Para Poder Entender el Codigo es Necesario lo Basico de Html, y los tipos de Envio de las Cabezeras Http, Get, Post.


Ej Real:

- Creamos un Formulario Tipico Vulnerable:

Código:




Injeccion Html By OzX [New-Bytes/NuKe]










- Resive.Php

Código:



";
echo "volver"
?>


- Resultado:




- Ahora Ingresamos un Codigo Html.
Código:
 



OZX INJECCIONES HTML
- Resultado:



- Porque Pasa Esto?

- Podriamos Decir que El formulario Antes Posteado (codigo) Tiene por Defecto habilitado Html, por lo Cual Ahy que decirle que no Permita Codigos Html, y Que estos Sean Transformados en Texto Plano, Mas bien "Convertir" el Codigo en Texto Plano.
Sin Su Interpretacion en Html.

- Entonces Si este fuese Un Libro de Visitas , en donde registre toda esta informacion en una base de datos, y esta luego sea llamada, los codigos, van a ser "interpretadoS" y la Injeccion Html Tendra Efecto.


Ahora veamos como Solucionarlo.

Index.php = Donde esta el Formulario
Resive.php = Donde Llegan los Datos y Son Mostrados.


Editamos Resive.php y Editamos y Agregamos lo Siguiente:

Código:





Sin htmlentities: ". $_POST['nombre'] ."
";
echo "Con htmlentities: "."$codigo";
echo "
volver
"
?>


Explicacion:

-

- Con htmlentities, Dejamos toda La informacion Introducida en el Formulario, en Texto Plano, Asi no Tendra ningun Efecto en la Pagina.

Luego:

echo "Sin htmlentities: ". $_POST['nombre'] ."
";
l

- Aqui Mostramos Directamente sin el Filtro HtmlEntities, y Asi El Codigo Htm Sera Interpretado en la Plataforma del Navegador.

Siguiente Linea:

echo "Con htmlentities: "."$codigo";

- Aqui se Aplica el Filtro, y Llamamos a la Variable Codigo, que tiene el Filtro Incorporado.


- Resultado:



By OzX



Saludos¡

Fuente:http://www.latinohack.com/LH/foro/showthread.php?t=2547

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay