Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Classico: ' OR 0=0

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 1999
    Messaggi
    8

    Classico: ' OR 0=0

    Ciao a tutti,
    una domandina veloce veloce. Ho uno script ASP fatto veramente male in cui se al login inserisco il classico apice per "incriccare" il tutto seguito da or 0=0 in modo che la condizione sia sempre vera, ottengo il seguente msg da IIS:

    Premetto che la password è realmente pippo quindi il giochino è abbastanza semplice.

    Errore 500 ecc...

    POST Data:
    nome=%27+OR+0%3D0&password=pippo

    Dato che assolutamente non conosco ASP,Vbscript ecc, come posso a fare un urldecode della stringa? Volevo provare a "entrare" senza immettere il nome utente per poi scrivere al programmatore che ha realizzato il progetto che è un "cretino"...

    Ciao, A.

  2. #2
    Ascolta, ho + o - apito qual'è il tuo problema.

    per darti una risposta ... però mi serve

    _ descrizione dettagliata punto punto del problema
    _ il codice della pagina asp ( sia quella del form che della sua verifica)

    p.s-> Al ... W ASP

  3. #3
    Scusa delmi, ma forse non hai ben chiaro l'utilità di quel "trucchetto": serve per entrare senza la password, non senza il nome utente!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 1999
    Messaggi
    8

    certo.

    Lo so, lo so, ma devo fare solo un test in locale.
    Come ho detto prima, mi serve solo per dire a chi ha fatto lo script che non ci capisce nulla!

    Ho solo il problema che evidentemente la stringa passata viene encodizzata tramite urlencode() quindi voglio trovare il modo di passargli ' OR 0=0 senza i vari caratteri speciali ecc...

  5. #5
    Innanzitutto dovresti inserire l'apice nel campo dell'username, e nessuna password. Questo per vedere se lo script è "vulnerabile". Quindi devi inserire un nome utente valido, e la stringa ' or 0=0 per bypassare il controllo della password.

    Se esiste un meccanismo di validazione per i dati inseriti dall'utente, e il trucchetto non ti riesce, vuol dire che lo script non è vulnerabile. Quindi non vedo nessun motivo per prendersela con il programmatore

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 1999
    Messaggi
    8
    Lo script è vulnerabile. Ma non è come dici te!
    Se è vulnerabile anche il nome utente lo puoi bypassare! ALtrimenti se il dato lo devo inserire io non è più un trucchetto, non ti pare?!

    Comunque, sono sicuro di poter entrare, basta solamente decodificare la stringa da

    nome=%27+OR+0%3D0&password=pippo

    A

    nome = '' OR 0=0 ...

  7. #7
    Ti assicuro che so quel che dico :bubu:
    Dopo pranzo ti spiego come funziona il trucco, e perchè non lo puoi usare per bypassare il nome utente.
    A dopo

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 1999
    Messaggi
    8
    Ok grazie,
    buon pranzo!

  9. #9
    Originariamente inviato da innovatel


    p.s-> Al ... W ASP
    Qusto 3d è l'unico posto dove mi piace sentire la parola ASP...

    Topolin, Topolin, viva Topolin!

  10. #10
    Eccomi :adhone:

    Analizziamo una probabile query SQL con ASP che viene usata per verificare il login:

    Select * from utenti where username = ' " & Request.Form("nome") & " ' and password = ' " & Request.Form("passw") & " ' "

    Se tu provi a inserire "ciao" come username e l'apice come password, il codice diventa così:

    Select * from utenti where username = ' ciao ' and password = ' ' '

    Questo fa in modo che la query sia sbagliata e, se sono attivati i messaggi di debug su IIS, ti vengono restituite informazioni dettagliate sull'errore.

    Ora immaginiamo che "admin" sia un username realmente esistente, e proviamo a usare il trucco. Il codice diventa così:

    Select * from utenti where username = ' admin ' and password = ' ' or 0=0 '

    Quindi ti fa entrare con l'username "admin", che esiste davvero, se la password è nulla oppure se 0 è uguale a 0. Ovviamente la seconda condizione è sempre soddisfatta e quindi riesci a entrare senza problemi.

    Per dovere di cronaca devo dire che la stringa ' or 0=0 non è quella completa e quindi non sortirà nessun effetto (è per questo, probabilmente, che i tuoi tentativi non sono riusciti). Non posto il codice realmente funzionante perchè il regolamento del forum vieta di postare i codici pericolosi.

    Proprio perchè il nome utente deve esistere veramente, tu non puoi usare il codice nel campo username. Invalideresti la query e otterresti solo un codice di errore 500 di IIS.

    Spero di essermi spiegato

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 © 2024 vBulletin Solutions, Inc. All rights reserved.