Tal vez sea una pregunta extraña, pero intentaré explicarla lo mejor que pueda. Actualmente estoy haciendo un pentesting de un sitio web, para xss (cross site scripting). Primero intenté, <script>alert(1)</script> y resultó en [removed]alert(1)[removed] , pero también <scr<script> y ese tipo de cosas, y probé muchas más.
Ahora finalmente obtuve uno que funciona: <input onfocus=alert("test") autofocus> y sí, realmente escupe 'prueba' pero cuando escribo alert(document.cookie) ya no escupe nada más, también <input onfocus=alert("test lol") autofocus> ya no escupe nada, pero ¿cómo puedo obtener la cookie ahora? ¿Y por qué escupe test, o ahihawiejawije pero no ahjiahwe jijaja o test test, solo una palabra? También enteros OBRAS.
También todo el código html, intento que funcione como <div> o <iframes> , entonces, ¿cómo puedo hacer que document.cookie spitted en la página?
Aquí es donde ingreso el código XSS: https://gyazo.com/d260e065a305941e92a414a321501134
Y cuando lo guarde lo puedo ver en esta página: https://gyazo.com/723c1bff1d6fb7f3341a5b19cadcd264
Pero como el documento.cookie uno no funciona, solo mostrará una barra de entrada, pero cuando reemplazo el documento.cookie solo con "lol" me da esto: "lol" (no puedo poner más de 2 enlaces bcz reputación) por lo que está funcionando con lol.
Entonces, ¿cómo es posible que funcione una palabra o una palabra grande como AAAAAAAAA pero no solo 2 palabras como aaa aaa o document.cookie?
Tengo curiosidad por saber por qué imprimir helloworld funciona y hello world no.
El espacio, debido al HTML desordenado, inicia otro atributo.
Eche un vistazo al inspector de Chrome y el resaltado de sintaxis aclara lo que está sucediendo:
<input onfocus=alert("test lol") autofocus>se convierte en:
Chrome intenta arreglar el HTML, y lol") se convierte en otro atributo. (No tengo idea de a dónde va el autofocus ...) Nada que ver con la protección XSS del sitio (o la falta de ella), solo cómo el navegador interpreta el HTML incorrecto .