Pagina 3 di 8 primaprima 1 2 3 4 5 ... ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 72

Discussione: preventivo sito

  1. #21
    Come è successo? Scombinando l'url?

  2. #22
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180


    se passi al tuo script l'indirizzo del file di testo da cui prendere i dati DEVI anche fare qualche controllo di sanità, altrimenti allo script si può passare un file a caso, anche sé stesso, mostrandone il contenuto, o parte, a video

    cattivo mitaly, cattivo
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  3. #23
    Quote Originariamente inviata da Luca Crippa Visualizza il messaggio
    Come è successo? Scombinando l'url?
    Cambi 1.txt a un nome di file qualunque che sicuramente non esiste, ad esempio assdasdasd.txt; il messaggio che viene fuori (grazie, PHP, ottimi strumenti di debugging ) è
    Warning: file_get_contents(../public/events/assdasdasd.txt) [function.file-get-contents]: failed to open stream: No such file or directory in D:\Inetpub\webs\coroconcorezzoit\circolino\evento. php on line 36 - See more at: http://www.coroconcorezzo.it/circoli....Upv3QSNP.dpuf
    da cui si ricava immediatamente che il codice di apertura del file si limita a concatenare il parametro "eve" a "../public/events/"; a questo punto è immediato cambiare l'URL per leggere a piacimento qualunque file interno del tuo sito.

    Tempo speso: 30 secondi.

    Ah, vedo sulla destra che c'è anche degli errori relativi a scandir, forse si possono sfruttare anche quelli per riuscire ad ottenere directory listing in giro per il tuo sito.
    Ultima modifica di MItaly; 04-11-2013 a 17:04
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #24
    Con controllo di sanità cosa intendi?

  5. #25
    Quote Originariamente inviata da hfish Visualizza il messaggio
    cattivo mitaly, cattivo
    Internet è un luogo pieno di gente cattiva, non vedo perché essere da meno (specie di lunedì).
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #26
    Quote Originariamente inviata da Luca Crippa Visualizza il messaggio
    Con controllo di sanità cosa intendi?
    Intendo validare sempre i parametri per evitare che si possano fare scherzetti di questo genere. Nel tuo caso, una possibilità potrebbe essere tentare di convertire il parametro in un intero prima di fare quella concatenazione, in modo che qualunque roba che non sia semplicemente un numero venga uccisa sul nascere.

    Inoltre, prima di accedere ad un percorso che dipende da un parametro può essere sensato far "risolvere" completamente il percorso, rendendolo "canonico" (ci sarà sicuramente una funzione PHP per 'sta roba, anzi, ce ne saranno 12, di cui 4 che fanno la stessa cosa ma con i parametri in ordine diverso, 3 che ricalcano la sintassi C, 3 deprecate e 2 wrapper ad oggetti che non usa nessuno perché disponibili solo da PHP 7 in poi; tutte ovviamente hanno bachi diversi) e verificando lì se effettivamente (1) i file che stai pescando stanno nella directory corretta e (2) se hanno l'estensione corretta.
    Ultima modifica di MItaly; 04-11-2013 a 17:14
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #27
    Sì però se non sai neanche queste cose... come fai a chiedere "quanto chiedere per un sito"????

  8. #28
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Come db su file, consiglierei almeno di usare json per preservare i dati con un po' di struttura... oltre alla validazione dei parametri, chiaro

  9. #29
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Quote Originariamente inviata da partime Visualizza il messaggio
    Sì però se non sai neanche queste cose... come fai a chiedere "quanto chiedere per un sito"????
    Bah, si impara anche sul campo.

    Se un cliente non mi avesse chiesto di progettare un intero cms da zero, nel 2007, con cakephp... probabilmente oggi non sarei il programmatore che sono oggi (= una scarpa, ma che usa benino cakephp )

  10. #30
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Intendo validare sempre i parametri per evitare che si possano fare scherzetti di questo genere. Nel tuo caso, una possibilità potrebbe essere tentare di convertire il parametro in un intero prima di fare quella concatenazione, in modo che qualunque roba che non sia semplicemente un numero venga uccisa sul nascere.

    Inoltre, prima di accedere ad un percorso che dipende da un parametro può essere sensato far "risolvere" completamente il percorso, rendendolo "canonico" (ci sarà sicuramente una funzione PHP per 'sta roba, anzi, ce ne saranno 12, di cui 4 che fanno la stessa cosa ma con i parametri in ordine diverso, 3 che ricalcano la sintassi C, 3 deprecate e 2 wrapper ad oggetti che non usa nessuno perché disponibili solo da PHP 7 in poi; tutte ovviamente hanno bachi diversi) e verificando lì se effettivamente (1) i file che stai pescando stanno nella directory corretta e (2) se hanno l'estensione corretta.
    Intendi ad esempio prendere il path ../public/events/1.txt e cambiarlo in 58648448464256? Con una funzione che genera un numero a seconda del file di testo? E poi passare quello riconvertendolo dopo?

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.