Java Drive By & Stub - Spiegazione [closed]

0

Ho cercato di fare alcune estensioni per Chrome ultimamente per bloccare alcune cose indesiderate. Ho anche cercato un po 'di tempo per trovare ciò che fa un JDB. Così, l'applet scarica un file, non è vero? (Silenziosamente)

Il codice java credo sia così: (non criptato, file di esempio)

public void init(){
try {
    in = new BufferedInputStream(new URL("http://wordpress.org/plugins/about/readme.txt").openStream());//get an inputstream from preferred file
} catch (IOException e) {
}
try {
    f = new File("C:\" + fileName);//get file to write
    f.delete();
    try {
        f.createNewFile();
    } catch (IOException e) {
    }

    out = new FileOutputStream(f);//get an outputstream from the file
} catch (FileNotFoundException e) {
}
bout = new BufferedOutputStream(out,bufferLength);//make the output stream to the file buffered with 1GB length
byte data[] = new byte[bufferLength];//create our buffer
try {
    while(in.read(data, 0, bufferLength) >= 0){//returned value if file has ended is -1 buffer = data , offset = 0 , max bytes = buffer length
        out.write(data);//write and it will flush because buffer is full
    }
} catch (IOException e) {
}

try {//Housekeeping , close the streams
    bout.close();
    out.close();
    in.close();
} catch (IOException e) {
}

}

Le cose che ho menzionato sono corrette? Inoltre, non capisco come funziona uno stub e come prevenirlo. Qualcuno mente che spiega? (Voglio una spiegazione per quello che gli hacker considerano essere ...)

    
posta user3029101 11.01.2014 - 14:24
fonte

1 risposta

0

Nel modello di applet Java, un'applet Java è un pezzo di codice inviato dal server, che deve essere eseguito dal client, con restrizioni . Per impostazione predefinita, un applet Java non può interagire molto con il sistema locale o la rete; può parlare solo con il server di origine e non può leggere o scrivere file locali. Tuttavia, un'applet Java può essere firmata , nel qual caso è consentito chiedere privilegi estesi; l'utente umano vede un popup specifico di Java (che stabilisce anche chi ha firmato e consente all'utente di ispezionare i relativi certificati) e può scegliere di fare clic su "OK", a quel punto l'applet Java può fare qualsiasi cosa desideri. / p>

Quello che la sorgente (mal codificata) che mostri fa è semplicemente scaricare alcune risorse da un URL e scrivere i contenuti in un file locale. Questo codice funzionerebbe solo in un'applet Java firmata che l'utente umano ha esplicitamente autorizzato. Se un'applet Java senza firma (o un'applet firmata ma con autorizzazioni negate), il codice fallirà, sia sulla chiamata openStream() (se l'applet non proviene dal server wordpress.org , questo è vietato l'accesso alla rete) o sulla chiamata f.delete() (l'accesso al filesystem locale è proibito)

Un " guida di " è un tipo di azione relativa al Web, in cui l'utente visita un Web sito, e vede il sito, ma "qualcos'altro" si verifica anche più o meno in modo trasparente - nel caso classico, un download per un altro file. Se si tenta di farlo con un'applet Java, ciò richiederà che l'applet sia firmata e che l'utente faccia clic su "OK" sul popup specifico di Java, concedendo le autorizzazioni. Fare in modo che un utente medio faccia clic su "OK" su un popup tecnico non è difficile (gli utenti medi non afferrano bene i popup tecnici e Windows li ha addestrati per decenni a respingere popup frequenti senza nemmeno leggerli). Tuttavia, poiché l'applet è firmata, identifica il firmatario attraverso il suo certificato, cioè l'autore dell'attacco. Questo aumenta i rischi, dal punto di vista dell'attaccante; implica ottenere un certificato non incriminante, che è, per lo meno, un lavoro extra. Quindi questo funge da deterrente contro questo tipo di attacchi basati su Java. Gli attacchi Pratici con Java abusano più facilmente dei buchi di sicurezza nella VM Java, consentendo a un'applet non firmata di ottenere privilegi in modo trasparente, senza l'interazione dell'utente e senza alcuna firma.

Si noti che se un'applet ottiene privilegi sufficienti per scrivere file locali, allora, in pratica, può fare tutto ciò che desidera con la macchina locale.

    
risposta data 11.01.2014 - 14:53
fonte

Leggi altre domande sui tag