Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    $_server['query_string']

    Ciao a tutti!
    Ho trovato nel sito di pierotofy.it questo interessante codice:
    Codice PHP:
    <?

    /*Simple example Sentinel for CMS by Ciro1992 */

    $stringa strtolower($_SERVER['QUERY_STRING']);

    $controlli = array(

          
    "http",
          
    "www",
          
    "<",
          
    "src",
          
    "%",
          
    "on",
          
    "-",
          
    "\"",
          
    "\'",
          
    "\*",
          
    "\.",
          
    "etc",
          
    ":",
          
    "user",
          
    "jpg",
          
    "txt",
          
    "png",
          
    "jpeg",
          
    "gif",
          
    ">",
          
    "ftp",
          
    "_",
          
    "union",
          
    "from",
          
    "where",
          
    "create",
          
    "alter",
          
    "copy",
          
    "drop",
          
    "phpbb",
          
    "path",
          
    "location",
          
    "window",
          
    "document",
          
    "execute",
          
    "update",
          
    "select",
          
    ";"
    );

    foreach(
    $controlli as $controllo) {
    if(
    ereg($controllo,$stringa))
    {
    die(
    "Attacco bloccato");
    }

    };
    ?>
    Questo codice ha stuzzicato la mia curisità, infatti ho visto che "difende" un sito controllando la stringa contenuta in $_SERVER['QUERY_STRING']. Non ne avevo mai sentito parlare: come e dove dovrebbe essere inserita questa stringa per contattare il server?
    Sono davvero molto curioso.
    Grazie mille a tutti!

  2. #2
    Non hai mai sentito parlare della query string?

    Come chiami la parte di URL che viene dopo il ? e prima di #

  3. #3
    Grazie mille!
    Sinceramente (scusa la mia ignoranza), non ne avevo mai sentito parlare, pensavo che dopo il ? andassero solo le variabili di tipo GET, non avevo nemmeno mai sentito parlare di questo #, a cosa serve?

    Ritornnando alla mia domanda iniziale, se avessi dovuto "attaccare un sito" dove avrei dovuto scrivere la query string nell'URL?

    Grazie mille, scusa ancora la mia ignoranza, ma sono autodidatta e le mie conoscenze si limitano quasi completamente alle guide di HTML.it e altri siti simili.

  4. #4

  5. #5
    Grazie mille!
    Ho letto la guida che mi hai suggerito, comunque anche io ho un po' di esperienza e non ho bisogno di ricominciare dalle basi dell'HTML.
    Ho cercato informazioni sulla querystring, l'unico modo che ho trovato per penetrare un sito è quello di modificare le variabili GET della querystring per far visualizzare alla pagina web un contenuto a cui l'utente non è autorizzato. In questo caso però questo codice sarebbe inutile... Mi sembra di capire, sempre da codice, che però sia possibile, attraverso la querystring, far eseguire alla pagina un codice SQL, ho fatto una ricerca ma non ho trovato nessuna allusione a questa funzione della querystring. Qualcuno può chiarirmi le idee??

  6. #6
    Originariamente inviato da quit10
    Ho letto la guida che mi hai suggerito, comunque anche io ho un po' di esperienza e non ho bisogno di ricominciare dalle basi dell'HTML.
    Da quanto hai scritto ti mancano le basi come, ad esempio, la struttura degli URL, di cui fa parte la query string.

    Originariamente inviato da quit10
    Mi sembra di capire, sempre da codice, che però sia possibile, attraverso la querystring, far eseguire alla pagina un codice SQL, ho fatto una ricerca ma non ho trovato nessuna allusione a questa funzione della querystring. Qualcuno può chiarirmi le idee??
    http://php.html.it/articoli/leggi/89...sql-injection/

  7. #7
    Grazie mille!! Ora ho capito!!

    PS: il proble ma di essere autodidatta è che a volte si saltano dei passaggi importanti, nel mio caso la struttura dell'URL.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Originariamente inviato da quit10
    PS: il proble ma di essere autodidatta è che a volte si saltano dei passaggi importanti, nel mio caso la struttura dell'URL.
    ah beh... se è questo è importante, ti auguro una buona fortuna grossa quanto una casa per il futuro

  9. #9
    Ad ogni modo trovo che il codice postato sia:
    1) inefficiente
    2) poco utile
    3) controproducente

    e spiego il perchè:
    1) inefficiente perchè fa N "ereg", una per ogni elemento dell'array, quando potrebbe magari farne una
    2) poco utile perchè cerca specifiche parole scritte in uno specifico modo, se si usa un'altra rappresentazione di cose come "<" che succede?
    3) controproducente perchè tu non potrai usare in una query string le parole "on", "txt", "alter" e tante altre anche in contesti in cui sarebbe perfettamente lecito.

    nella url (1) quel codice non troverà nessun errore, farà quindi 38 volte il controllo con la regex (una per ogni elemento dell'array) perdendo solo tempo.

    nella url (2a) non ci sono errori trovati dal tuo codice però se il server non è settato bene si può avere accesso a qualche file in sottocartelle in cui non si dovrebbe accedere

    nella url (2b) non ci sono errori trovati dal tuo codice però sei soggetto ad attacchi XSS

    nella url (3) non c'è niente di cattivo, magari hai un modulo di ricerca che filtra i campi in un determinato modo, ma quel codice bloccherà tutto perchè ti darà errore sul termine "from"


    credo che quel codice sia completamente inutile
    Administrator of NAMDesign.Net

  10. #10
    Grazie mille! Ora che ci penso hai ragione! Solo una cosa: non ho capito il punto 2): in che senso "si usa un'altra rappresentazione di cose"? Intendi dire usare altre parole chiave o altri caratteri per compiere le stesse operazioni?
    Un'ultima cosa: tu cosa mi consiglieresti in alternativa per proteggere il mio sito(possibilmente senza scaricare programmi)?
    Grazie ancora!!

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.