XSS o Cross Site scripting Ok todos sabemos que Para hacer un ataque XSS necesitamos de lenguajes que utilizan stripslashes *signos /( )! ' etc! lo que aremos en esta seccion para protegernos de esta vulnerabilidad es bloquear o remplazar estos signos que hacen que se ejecute la accion de la que se programo en el codigo ejemplo
<script>alert('XSS') </alert>
supongamos que tengamos el siguiente fragmento de codigo _
<?php
$bug = $_GET["var"];
echo .$bug;
?>
explicamos el bug es una variable tipo get con el nombre var
entons seria
/xss?var=
ok ahora dice que imprimiremos lo que tiene el get [var] entonces si el sitio web es asiiii
tenemos una targe vulnerable porqe nos imprime lo que pongamos en var si ningun filtro un facil
XSS CROSS SITE ... Es asi
http://localhost/testing/xss.php?var=<script>alert('hola')</script>
y lo que ara es mostrarnos una ventana como este
BUENO AKA LA SOLUCION :
LO QUE AREMOS ES PONER UN SIMPLE FILTRO DE XSS EN ESTE CASO FILTRAREMOS
HTML DONDE ABARCAMOS SCRIPT ETC..!
<?PHP
$bug = $_GET["var"];
echo
htmlentities(
$bug); ?>
LA HERRAMIENTA htmlentities SE UTILIZA CUANDO ASEMOS REFERENCIA DE UN CODIGO HTML EN UN PRINT O UN ECHO QUE ES IMPRESION DE PANTALLA PARA QUE DE ESA FORMA NO NOS DEFORME NUESTRO SITIO ..
TAMBIEN PODEMOS UTILIZAR LO QUE ES EL SRT_REPLACE
<?php
$bug = $_GET["var"];
echo str_replace('<', '', $bug);
?>
EXPLICACION :
modificamos en donde esta el echo ! str_replace se utiliza para remplazar ciertos caracteres en este caso remplazaremos el < de lo que ponga el la get de nombre var y esta sera remplazada por un espacion en blanco lo que ara es qe por ejemplo si ponemos <h1>HACKED</H1> aparecera en nuestro CMS H1>HACKEDH1> Y DE ESA FORMA NO SE CUMPLIRA LA ACCION PARA DAÑAR NUESTRO CMS!!
OK ESTO FUE TODO POR MI PARTE SOY MR_BOGUEY HASTA EL LUEGO POST
Zerox hola men, no me sale ningun mensaje, sera por que este tipo de inyecciones lo supero xammp; a fin de evitar inyeccion, responde:
ResponderEliminar