Bucare server IIS...

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
essenceflare
00sabato 27 marzo 2004 10:38
una delle peggiori pecche del sistema asp/x che gira su IIS è che il quoting degli slash nn è automatico (come avviene in PHP) qundi se (come tipicamente avviene) ho la pagina di validazione delle password scritta nel seguente modo :

$user = $_POST["username"];
$pwd = $_POST["password"];
$sql = "SELECT * FROM xx WHERE username = '$user' AND password = '$pwd'";


e l'utente scrive in input la stringa :

' or 'b'='b'

come username e password ho come risultato:

SELECT * FROM xx WHERE username = '' OR 'b' = 'b' AND password ='' OR 'b' = 'b'

ma questa WHERE è sempre vera!!!! L'uetente ha ora nel nostro server un oracolo che risponde a domande booleane...

Come Difendersi

basta quotare gli apici in php -> addslashes (stringa);


Essence Flare Official Web Site



[Modificato da essenceflare 27/03/2004 10.52]

roob
00sabato 27 marzo 2004 22:23
buono a sapersi !

ma funziona anche con il visual basic ?


essenceflare
00domenica 28 marzo 2004 11:59
Re:

Scritto da: roob 27/03/2004 22.23
buono a sapersi !

ma funziona anche con il visual basic ?





Il codice SQL è uno standard indipendente dalla piattaforma di interfaccia con il db.

nonnace
00sabato 3 aprile 2004 11:33
Questa tecnica si chiama SQL injection.. il modo illustrato e' il + semplice di tutti per entrare e ormai ben pochi siti presentano ancora questa vulnerabilita'. [SM=x39854]
Purtroppo ne esistono altri tipi di SQL injection (ben + pericolosi) che sfruttano i messaggi d'errore di IIS.. se poi come database si utilizza SQL Server si possono ottenere un bel po' di informazioni sul sistema e riuscire addirittura a eseguire query o lanciare comandi direttamente sul server.. (per gli altri dbms nn ne ho idea, ma penso sia + o - la stessa cosa)

Una semplice soluzione consiste nell'implementare una funzioncina nel vostro linguaggio preferito che fliltri tutte le sequenze di caratteri "sospette" date in input e le sostituisca con altre - rischiose, per esempio:

Apice (') con doppio apice('') questa para il culo per il primo caso e un buon numero di tutti gli altri.... con solo questa si puo' gia' stare "abbastanza" tranquilli

Altre sequenze pericolose per SQL server sono:

"--", "@@", ";"

Comunque con una semplice ricerca su internet alla voce "SQL injection" si trovano valanghe di materiale... [SM=x39991]



Work in progress...

Megalomania non è considerarsi più di quello che si è, ma considerarsi per quello che si è.
Karl Kraus

E' incredibile quante cose si trovano mentre cerchi qualcos’altro.
Anonimo


Aiutaci anche tu a salvare i
PANDA PANDA

[Modificato da nonnace 03/04/2004 11.35]

essenceflare
00sabato 3 aprile 2004 14:01
Re:

Scritto da: nonnace 03/04/2004 11.33
Questa tecnica si chiama SQL injection.. il modo illustrato e' il + semplice di tutti per entrare e ormai ben pochi siti presentano ancora questa vulnerabilita'. [SM=x39854]
Purtroppo ne esistono altri tipi di SQL injection (ben + pericolosi) che sfruttano i messaggi d'errore di IIS.. se poi come database si utilizza SQL Server si possono ottenere un bel po' di informazioni sul sistema e riuscire addirittura a eseguire query o lanciare comandi direttamente sul server.. (per gli altri dbms nn ne ho idea, ma penso sia + o - la stessa cosa)

Una semplice soluzione consiste nell'implementare una funzioncina nel vostro linguaggio preferito che fliltri tutte le sequenze di caratteri "sospette" date in input e le sostituisca con altre - rischiose, per esempio:

Apice (') con doppio apice('') questa para il culo per il primo caso e un buon numero di tutti gli altri.... con solo questa si puo' gia' stare "abbastanza" tranquilli

Altre sequenze pericolose per SQL server sono:

"--", "@@", ";"

Comunque con una semplice ricerca su internet alla voce "SQL injection" si trovano valanghe di materiale... [SM=x39991]



[Modificato da nonnace 03/04/2004 11.35]




esatto!!! [SM=x39884]
Jason78
00mercoledì 7 aprile 2004 09:02
Vabbhè basta usare le query parametriche usando SqlParameter oppure OleDbParameter e il problema si risolve [SM=x39858]
Jason78
00mercoledì 7 aprile 2004 09:16
Re:

Scritto da: roob 27/03/2004 22.23
buono a sapersi !

ma funziona anche con il visual basic ?




Se si usano le classi del framework create per tali scopi non ci sono di questi problemi....è chiaro che se uno crea delle query concatenando semplicemente stringhe immesse dall'utente....ma a quel punto dovresti scrivere chilometri di codice per pulire le stringhe da caratteri speciali etc....
PhoeniXXX
00mercoledì 7 aprile 2004 10:29
Il programmatore che fece il sito in asp per il commercio elettronico della società per cui lavoro non prese precauzioni per questa famosa stringa ' or 'b'='b', ma io non sapendolo con il capo davanti al terminale dissi che volevo fare una prova per verificare la vulnerabilità del sistema nella gestione degli account. digito ' or 'b'='b' e mi connetto come utente registrato anche se non mi ero registrato. risultato cazziatone del capo al tizio che fece il sito[SM=x39901]

...se è vero amore dura per
sempre anche dopo la tempesta...


LE MIE FOTO|SMSSAMI
....Voci nel Web....

[Modificato da PhoeniXXX 10/04/2004 14.44]

Zen
00venerdì 9 aprile 2004 15:33
Re:

Scritto da: PhoeniXXX 07/04/2004 10.29
Il programmatore che fece il sito in asp per il commercio elettronico della società per cui lavoro non prese precauzioni per questa famosa stringa ' or 'b'='b', ma io non sapendolo con il capo davanti al terminale dissi che volevo fare una prova per verificare la vulnerabilità del sistema nella gestione degli account. digito ' or 'b'='b' e mi connetto come utente registrato anche se non mi ero registrato. risultato cazziatone del capo al tizio che fece il sito[SM=x39901]



Ma sei bastard inside !!!! [SM=x39901]
Bravo[SM=x39892]
---------------------------
Mandami SMS gratis
---------------------------

...Voci nel Web...

[Modificato da PhoeniXXX 09/04/2004 16.14]

Zen
00lunedì 19 aprile 2004 10:02
Re: Re:
Notizia di oggi:
Hackerato sito Telecom [SM=x40001] [SM=x39901]
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 17:48.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com