Suggerimenti per la creazione di un honeypot di SQL injection

9

Mi sono imbattuto in un sito Web vulnerabile a un attacco di SQL injection per errore ( link ).

Questo mi ha reso curioso di ciò che viene provato e con quale frequenza un tentativo di attacco arriva su qualche sito Web.

Quindi penso che sarebbe bello impostare un honeypot sul mio server per vedere se / quanto spesso / utilizzare le tecniche che i "cracker" cercano di ottenere l'accesso ai miei dati SQL.

Ci sono alcune cose di base che posso pensare per attirarli, come:

/login.php / asp url

/adminlogin.php / asp url

Un modulo di ricerca

? id = 111 url

con alcuni falsi errori SQL durante il tentativo di inserire alcuni SQL.

Qualcuno ha qualche suggerimento / idee / qualcosa in più / altro per configurare un honeypot per l'iniezione SQL?

    
posta PeeHaa 31.05.2011 - 16:31
fonte

3 risposte

9

Posso suggerire alcuni honeypot progettati per cose esattamente come quelle che descrivi:

risposta data 31.05.2011 - 22:57
fonte
4

Il modo migliore per risolvere il problema di SQL injection è utilizzare query parametrizzate, che possono essere eseguite con una libreria come PDO o MySQLi. Devi in realtà correggere le vulnerabilità nella tua applicazione web. Raccomando di utilizzare un servizio gratuito come Sitewatch o uno strumento open source come wapiti . Queste soluzioni rileveranno molto più della semplice iniezione sql nella tua applicazione.

Se si desidera bloccare un'applicazione Web potenzialmente insicura di quanto si dovrebbe utilizzare un Web Application Firewall o WAF. Mod_Security è un'ottima scelta, è gratuita e open source. Ma questa non è una sostituzione delle vulnerabilità note, è solo un altro livello.

I WAF sono composti da migliaia di espressioni regolari e cercano input spiacevoli. Possono essere configurati per registrare gli attacchi o eliminare la richiesta prima che tocchi la tua applicazione web. Questo va oltre la semplice SQL Injection e XSS e analizza molti diversi tipi di attacchi di applicazioni Web come quelli trattati nel OWASP primi 10 .

    
risposta data 31.05.2011 - 22:56
fonte
2

Ho trovato un esempio molto divertente di un honeypot qui.
link

Non usa affatto SQL o alcun server SQL, ma solo questo codice php:

// SQL Injection 'TEST'
if( strpos($username,"'") !== false || strpos($password,"'") !== false )
{
    $sqlInjectionError = "
            <p><font size=2>Microsoft ODBC MySQL Drivers Message:</font></p>
            <p><B>Error in the query:</B></p>
            <p>[Microsoft:ODBC 1045] SELECT UlluKaPatha FROM UlluKePathay WHERE
            GadhayKaRollNo = '".$_POST['username']."' 
            AND GadhayKaPassword = '".$_POST['password']."'
            ";
}
// End SQL Injection 'TEST'

es. se qualcuno ha fornito username admin e password x' OR '1'='1 , ha ottenuto la risposta:

Microsoft ODBC MySQL Drivers Message:

Error in the query: [Microsoft:ODBC 1045] SELECT UlluKaPatha FROM UlluKePathay WHERE GadhayKaRollNo = 'admin' AND GadhayKaPassword = 'x' OR '1'='1'

Se registri l'input (in modo sicuro) in un database, potrebbe fornire statistiche interessanti su quali attacchi vengono utilizzati su un sistema non protetto.

    
risposta data 31.05.2011 - 22:24
fonte

Leggi altre domande sui tag