Client Side WebApp Vulnerabilities

  • View
    1.702

  • Download
    6

  • Category

    Internet

Preview:

DESCRIPTION

This are my slides of my Client Side WebApp Vulnerabilities presentation in #CPCO7

Citation preview

>> 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 Sinksadd()

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(3331337)</script>

>> 0 >> 1 >> 2 >> 3 >> 4 >>

Ninja Tricks

<body/onload=id=/al/.source+/ert/.source;onerror=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étodosloadVariables()

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?

@SeguridadBlancadedalo@inbox.ru

Blog.dedalo.in