Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problemi di sicurezza

  1. #1

    Problemi di sicurezza

    Ragazzi testando il mio sito con Web Vulnerability Scanner mi sono accorto che mi da un Cross site scripting nella variabile GET:

    index.php?moduli=>'><ScRiPt%20%0a%0d>alert(6631484 00)%3B</ScRiPt>

    Come posso risolvere questo problema ??

    Intanto sistemiamo questo poi ne ho altri !

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: Problemi di sicurezza

    Originariamente inviato da r3dd3vil
    Ragazzi testando il mio sito con Web Vulnerability Scanner mi sono accorto che mi da un Cross site scripting nella variabile GET:

    index.php?moduli=>'><ScRiPt%20%0a%0d>alert(6631484 00)%3B</ScRiPt>

    Come posso risolvere questo problema ??

    Intanto sistemiamo questo poi ne ho altri !
    non si capisce nulla...

  3. #3
    scusate se non mi sono spiegato; Allora praticamente il mio sito funziona con l'inclusione di moduli attraverso il GET

    www.miosito.it/index.php?moduli=galleria

    ora mi sono accorto che se al posto di galleria inserisco questo script :

    >'><ScRiPt%20%0a%0d>alert(663148400)%3B</ScRiPt>

    mi si apre una finestra con all'interno il numero 663148400. Ora siccome questo sarebbe in gergo un attacco xss, come si possono risolvere questi attacchi ?? dovrei fare un controllo sul GET moduli ! per far si che non vengano inseriti script o cose del genere...

  4. #4
    Nei miei script, di solito filtro la variabile passata con GET e poi la passo ad un controllo switch().

    Se è uguale ai due o tre valori che io so quella variabile può avere, allora continuo, altrimenti fermo lo script.

    Ti scrivo un esempio perché so di non essere stato molto chiaro.
    Codice PHP:

    $variabile 
    $_GET['variabile'];

    if (
    $variabile != "caso1"
    AND $variabile != "caso2"
    AND $variabile != "caso3") {
        
    $variabile "";
    }

    switch(
    $variabile) {

    case 
    "caso1":
    include(
    "caso1.php");
    break;

    case 
    "caso2":
    include(
    "caso2.php");
    break;

    // tanti controlli quanti moduli vuoi implementare

    default:
    include(
    "default.php";
    break;


    Con questo metodo, non fai altro che azzerare tutti i valori della variabile passata da $_GET nel caso non siano quelli da te strettamente programmati.

    Per aumentare la sicurezza, ti consiglio di non chiamare le pagine che andrai ad includere con lo stesso nome della variabile che passi (insomma, di non fare come ho fatto io in questo codice per farti capire meglio. ), sarebbe molto semplice per un hacker forzare un attacco di qualche altro genere.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.