Sunteți pe pagina 1din 12

Introduccin

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

S-ar putea să vă placă și