0 evaluări0% au considerat acest document util (0 voturi)
92 vizualizări12 pagini
El documento explica el concepto de XSS reflejado, cómo funciona mediante la incrustación de código malicioso en una página web a través de campos de entrada no filtrados, y cómo esto permite ataques como el robo de cookies. También proporciona ejemplos prácticos de código XSS y formas de evadir filtros web mediante el uso de técnicas como redirigir a otras páginas o mostrar alertas. Finalmente, recomienda recursos adicionales para aprender sobre XSS y filtros de evas
El documento explica el concepto de XSS reflejado, cómo funciona mediante la incrustación de código malicioso en una página web a través de campos de entrada no filtrados, y cómo esto permite ataques como el robo de cookies. También proporciona ejemplos prácticos de código XSS y formas de evadir filtros web mediante el uso de técnicas como redirigir a otras páginas o mostrar alertas. Finalmente, recomienda recursos adicionales para aprender sobre XSS y filtros de evas
El documento explica el concepto de XSS reflejado, cómo funciona mediante la incrustación de código malicioso en una página web a través de campos de entrada no filtrados, y cómo esto permite ataques como el robo de cookies. También proporciona ejemplos prácticos de código XSS y formas de evadir filtros web mediante el uso de técnicas como redirigir a otras páginas o mostrar alertas. Finalmente, recomienda recursos adicionales para aprender sobre XSS y filtros de evas
Aqu veremos XSS Reflejado explicando conceptos y practicas
para que puedas desarrollarlos, adems de mostrar evasiones y paginas de referencias. Que es XSS (Cross Site Scripting) XSS tambin llamado cross site scripting (no lo llamaron CSS por que se podra confundir con las hojas en estilo cascada)... XSS es una vulnerabilidad web que lo que hace es incrustar cdigo SCRIPT (JavaScript,VBScript...) en una pagina web, con lo cual ese SCRIPT puede verse reflejado en el servidor o puede verse persistente... De tal manera que si es un XSS reflejado se refleja en el servidor de manera que se incrusta en el HTML de nuestra pagina (por mala filtracin a la hora de programar) y con lo cual al insertarse el cliente que este en la web puede ver tal cdigo incrustado (enviandoloselo solamente ya que es reflejado :P), con lo que puede realizar distintos tipos de ataques... XSS Reflejado. Como funciona? Img 1.1.- Usuario Malicioso le enva a la vctima, Cdigo Malicioso, La cual lo Ejecuta Envindole Las cookies, Con lo cual tiene su inicio de Sesin Y puede manejar los Datos del Usuario Vctima. Un dato de entrada mal filtrado por el programador, puede hacer que sea interpretado como cdigo, con lo cual se inserta en la pagina web actual, siendo cdigo de algn usuario malicioso para obtener beneficios, con lo cual lo enva el campo de entrada con su cdigo malicioso al usuario vctima realizando Ing. Social... La practica hace al maestro Bueno como dicen la practica hace al maestro entonces, empecemos, vamos a practicar, antes de comenzar recomiendo tener conocimiento de lo siguiente: * HTML * Javascript No es necesario saberlo todo sino solo entenderlo. Entonces vamos entendiendo para ello haremos un codigo simple en PHP, el tpico buscador :) Digamos que ese es un buscador, aunque realmente lo que hace un buscador es buscar en nuestra base de datos, muchas veces nos muestran algo como No pudimos encontrar tu palabra -ac la palabra que buscaste-. Bueno entonces nosotros estaremos simulando eso... Entonces busquemos cualquier cosa... Pondr Este es un ejemplo en el buscador... Como ven mi palabra insertada en el cuadro de texto esta ah... Podemos ver el cdigo fuente... CTRL+U. Como vemos nuestro texto ha sido insertado en nuestra pagina, entonces que pasara si insertamos algo de HTML? O algo de JavaScript? Algo que todo mundo usa es un mensaje de alerta demostrando as que esa pagina es vulnerable a un ataque XSS y puedes empezar a desarrollar algn SCRIPT malicioso con el :) Entonces que pasara si insertamos lo siguiente: <script>alert("Hola mundo")</script> Estas en lo correcto un mensaje de alerta se ha insertado :P Veamos el cdigo fuente, CTRL+U: Como puedes ver nuestro cdigo fue insertado en la pagina web, en esencia esto es XSS Reflejado como puedes ver nuestro cdigo se ve reflejado en el servidor y nos lo muestra en la pagina y todo por el programador que no filtro bien sus campos de entrada. Nota: Donde esta el truco? Simple, en el cdigo fuente, solo juega con el servidor :) XSS es jugar con cdigo SCRIPT. Cuales son los mtodos mas comunes usar para un ataque XSS? - Robo de Cookies - Redirecciones - Phishing - Buffer Overflow - Bots Entonces como ya sabemos que lo anterior es vulnerable a un ataque XSS, significa que podemos hacer cualquiera de las cosas mencionadas anteriormente, no digo que sea lo nico, la imaginacin es el nico limite, es lo mejor de los XSS la creatividad :) Un ejemplo escribimos lo siguiente el el cuadro de texto: <script>location.href="http://www.google.com";</script> Lo que har sera redirigirnos a Google, pero que pasa si quisiramos redirigir a un sitio web malicioso (malware, spyware, phishing, etc) Evadiendo WAF's Y entendiendo el XSS Reflejado WAF Web Application Firewall Usaremos el SCRIPT PHP que usamos anteriormente pero un poco diferente: En este caso lo nico que hacemos es checa que si no esta la palabra SCRIPT o IMG o ALERT entonces que haga la bsqueda sino entonces que muestre que su IP ha sido detectada y registrada :) Entonces si ejecutamos lo que anteriormente: Como puedes ver nos han detectado :( Entonces cuando es en una pagina real podramos pensar que hacemos primero y no ir dando pasos de tonto, bueno pues yo casi siempre uso el XSS LOCATOR ('';!--"<XSS>=&{()} ) que esta como referencia en OWASP entonces as sabemos cuales cosas nos detecta... '';!--"<XSS>=&{()} Lo ingresamos en el cuadro de bsqueda... Empezamos a hacer comparaciones en el cdigo fuente con lo insertado.... en este caso no nos filtra nada, pero cuando nos filtra en este caso es muy fcil de detectar, ya que nos manda un mensaje, pero que pasara si en lugar de enviarnos un mensaje... Nos reemplaza esa palabra por vaco? Te das cuenta en el cdigo fuente :) Ahora vamos a ver como saltara esto... Evitando las palabras detectadas :D <h1 onclick="prompt(1)">Este es un ejemplo</h1> Como en este ejemplo.... Saltamos el WAF en este caso, como no podemos hacer redirecciones y eso, que se te ocurre? Phishing :3 Como soluciono este problema? Es muy fcil, PHP tiene varias funciones pero la que mas me gusta a mi es pasar el HTML a sus entidades de manera que se ve pero en el cdigo fuente puedes ver la diferencia, ejemplo del cdigo anterior: Realizando la peticin anterior: Puedes ver como nos convierte a entidades nuestro HTML, pero que pasa si en caso de que nosotros quisieramos en un sistema de comentarios, por ejemplo, tener algunas etiquetas disponibles como: <b>,<p>,<img> sin que permita eventos... Existe una librera llamada HTML Purifier: http://htmlpurifier.org/ Que usar como referencia en estos casos: https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sh eet http://aptana.com/reference/html/api/HTML.index.html Yo en este caso no pretendo realizarte un tutorial de todos los metodos que existen, como realizarlos, por que eso ya esta mucho en todas partes... Lo que pretendo es mostrarte el camino a como comenzar a entender el XSS el como funciona, el por que es peligroso, espero que te haya servido para entender algo sobre esto si es asi mi objetivo ha sido realizado, sino comenta para poder resolverlo :P Recomiendo leer: XSS Attacks: Cross Site Scripting Exploits and Defense: http://www.amazon.es/XSS-Attacks-Scripting-Exploits-Defense/d p/1597491543 XSS a fondo: http://www.mediafire.com/view/y13oo0kpocepkpf/XSS_a_fondo.p df Vistame: www.arthusu.blogspot.com Sgueme: @arthusuxD