Da dove iniziare in termini di apprendimento su come sfruttare le vulnerabilità Java e Flash? o lo sfruttamento del browser in generale

3

Oggi è stato scoperto un altro Java 0day che mi ha fatto pensare a come funziona lo sfruttamento del browser (esecuzione remota sul browser dei client).

Non riesco a trovare libri o risorse online sullo sfruttamento del browser, posso codificare e sapere come usare un debugger. Tuttavia, non ho idea di dove iniziare in termini di apprendimento su come sfruttare il browser utilizzando Java o Flash. Qualsiasi risorsa o un elenco di prerequisiti sarà molto utile.

    
posta Kush 10.01.2013 - 17:57
fonte

2 risposte

7

Il targeting di piattaforme sandbox come Flash e Java sarà eccessivamente difficile se sei appena agli inizi, quindi ti suggerisco di imparare a camminare prima di provare a correre.

Alcune cose che vorresti sapere:

  • Come codificare in un linguaggio di basso livello come C.
  • Cosa fanno stack, registri, heap, ecc. e cosa succede quando li esagoni in vari modi.
  • Assemblaggio x86 di base.
  • La maggior parte della suite API per la tua piattaforma (ad esempio API Win32)
  • Che cosa contiene veramente un file eseguibile / come funziona. Per Windows, questo è un file PE , per * nix è ELF .
  • Meccanismi di gestione delle eccezioni per la tua piattaforma, ad es. eccezioni native , SEH , VEH ,

Alcune risorse da verificare:

Da lì, sarai sulla buona strada per capire come funzionano i browser. Non ci sono davvero tutorial diretti per questo tipo di cose, perché l'ambiente è così vario che dipende dal tuo browser e dai plugin che sta utilizzando.

    
risposta data 10.01.2013 - 18:06
fonte
5

Dai un'occhiata a Fuzzing con DOM di livello 2 e 3

"Overview
Fuzzing techniques proved to be very effective in finding vulnerabilities in web browsers.

Over time several valuable fuzzers have been written and some of them (mangleme, cross_fuzz) have became a "de-facto" standard, being widely adopted by the security research community.

The most common approach in browser fuzzing leverages on DOM Level 1 interfaces, where DOM elements are randomly created, crawled, tweaked and deleted.

Using this approach hundreds of memory corruption bugs have been uncovered in all mainstream browsers but, due to widespread coverage, spotting new bugs is becoming increasingly difficult.

At DeepSec conference in Vienna, I showed an evolutive approach of browser fuzzing that relies on some DOM interfaces introduced by W3C DOM Level 2 and Level 3 specifications. Using this approach a fuzzer prototype has been built and tested against IE9, IE10 and Chrome, providing interesting results: more than 70 different crashes have been generated and several memory corruption errors have been found, some of which turned to be exploitable."

    
risposta data 10.01.2013 - 18:06
fonte

Leggi altre domande sui tag