>> 0 >> 1 >> 2 >> 3 >> 4 >>
#CPCO7
@SeguridadBlanca
>> 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.
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Client Side WebApps
Vulnerabilities
>> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Qué es el DOM?
>> 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.
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Tipos de Xss:
Tipo 1: Persistente.
Tipo2: Reflejado.
Tipo 0: DOM-Based.
>> 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.
>> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Como se ve un Reflejado?
<?php
Echo $_GET['x'];
?>
>> 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.
>> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Cómo se ve un DOM-Based?
>> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Cómo se buscan?
Basado en Sinks
>> 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
>> 0 >> 1 >> 2 >> 3 >> 4 >>
¿FrameWorks?
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Jquery Sinks
add()
append()
after()
before()
html()
prepend()
replaceWith()
wrap()
wrapAll()
>> 0 >> 1 >> 2 >> 3 >> 4 >>
>> 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)>
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Mirando Mas allá de lo evidente
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Exploiting 1
<?php
<script>
Document.write(
Echo htmlspecialchars($_GET['x']);
);
</script>
?>
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Y se pone mejor.
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Evitando llegar al waf.
Document.write(Location.hash)
http://localhost/xss2.php#<script>alert(33313
37)</script>
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Ninja Tricks
<body/onload=id=/al/.source+/ert/.source;one
rror=this[id];throw+1337
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Reflejado basado en Flash
Cross Site Flashing
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Métodos Inseguros
getURL(var,'_self');
Web.com/file.swf?var=javascript:alert(1)
>> 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
>> 0 >> 1 >> 2 >> 3 >> 4 >>
¿Cómo Encuentro?
>> 0 >> 1 >> 2 >> 3 >> 4 >>
DOM: Como los machos
F12 || Dom King Kong
>> 0 >> 1 >> 2 >> 3 >> 4 >>
¿XSF? A lo macho
Showmycode.com
>> 0 >> 1 >> 2 >> 3 >> 4 >>
XSF a lo bruto
XSFF
http://github.com/dedal0
>> 0 >> 1 >> 2 >> 3 >> 4 >>
DEMOS!!!
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Necesitas usar tu lógica de programador... Si
no programas... ni cagando eres un buen
pentester.
>> 0 >> 1 >> 2 >> 3 >> 4 >>
Gracias!!! Preguntas?
@SeguridadBlanca
dedalo@inbox.ru
Blog.dedalo.in

Client Side WebApp Vulnerabilities

  • 1.
    >> 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()
  • 15.
    >> 0 >>1 >> 2 >> 3 >> 4 >>
  • 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