Más contenido relacionado Similar a Client Side WebApp Vulnerabilities (6) Client Side WebApp Vulnerabilities1. >> 0 >> 1 >> 2 >> 3 >> 4 >>
#CPCO7
@SeguridadBlanca
2. >> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Quien Soy?
Camilo Galdos AkA Dedalo
Hacker, Security Researcher en:
Twitter, Apple, Microsft, Paypal, Ebay, Nokia
y Netflix.
Paranoid y No-Fear.
3. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Client Side WebApps
Vulnerabilities
4. >> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Qué es el DOM?
5. >> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Que es Xss?
Un cross site scripting es un tipo de
inseguridad informática mediante la cual se
puede ejecutar código script en la página.
6. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Tipos de Xss:
Tipo 1: Persistente.
Tipo2: Reflejado.
Tipo 0: DOM-Based.
7. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Xss Reflejado
Los xss reflejados son aquellos en los cuales
el vector de ataque no se queda guardado
en ninguna base de datos o sessión.
8. >> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Como se ve un Reflejado?
<?php
Echo $_GET['x'];
?>
9. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Xss Basado en DOM
Los Xss basados en DOM son aquellos que
no requieren intersacción con el Servidor, se
ejecutan en Local. En el Javascript.
10. >> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Cómo se ve un DOM-Based?
11. >> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Cómo se buscan?
Basado en Sinks
12. >> 0 >> 1 >> 2 >> 3 >> 4 >>
document.URL
document.documentURI
document.URLUnencoded
document.baseURI
document.location
location.href
location.search
location.hash
location.pathname
window.cookie
window.referrer
window.name
13. >> 0 >> 1 >> 2 >> 3 >> 4 >>
¿FrameWorks?
14. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Jquery Sinks
add()
append()
after()
before()
html()
prepend()
replaceWith()
wrap()
wrapAll()
16. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Justo cuando creías entender
Llegó Dedalo con trucos ninja.
Vamos mas allá del “><img src=x
onerror=prompt(1337)>
17. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Mirando Mas allá de lo evidente
18. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Exploiting 1
<?php
<script>
Document.write(
Echo htmlspecialchars($_GET['x']);
);
</script>
?>
19. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Y se pone mejor.
20. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Evitando llegar al waf.
Document.write(Location.hash)
http://localhost/xss2.php#<script>alert(33313
37)</script>
21. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Ninja Tricks
<body/onload=id=/al/.source+/ert/.source;one
rror=this[id];throw+1337
22. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Reflejado basado en Flash
Cross Site Flashing
23. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Métodos Inseguros
getURL(var,'_self');
Web.com/file.swf?var=javascript:alert(1)
24. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Otros Métodos
loadVariables()
loadMovie()
getURL()
loadMovie()
loadMovieNum()
FScrollPane.loadScrollContent()
LoadVars.load
LoadVars.send
XML.load ( 'url' )
LoadVars.load ( 'url' )
Sound.loadSound( 'url' , isStreaming );
NetStream.play( 'url' );
htmlText
25. >> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Cómo Encuentro?
26. >> 0 >> 1 >> 2 >> 3 >> 4 >>
DOM: Como los machos
F12 || Dom King Kong
27. >> 0 >> 1 >> 2 >> 3 >> 4 >>
¿XSF? A lo macho
Showmycode.com
28. >> 0 >> 1 >> 2 >> 3 >> 4 >>
XSF a lo bruto
XSFF
http://github.com/dedal0
29. >> 0 >> 1 >> 2 >> 3 >> 4 >>
DEMOS!!!
30. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Necesitas usar tu lógica de programador... Si
no programas... ni cagando eres un buen
pentester.
31. >> 0 >> 1 >> 2 >> 3 >> 4 >>
Gracias!!! Preguntas?
@SeguridadBlanca
dedalo@inbox.ru
Blog.dedalo.in