Sarebbe questo script di reindirizzamento mi aprirà per iniezione di codice o l'inclusione di file remoti?

StackOverflow https://stackoverflow.com/questions/2159849

Domanda

Di recente mi sono imbattuto in un articolo del blog sull'utilizzo di script PHP per reindirizzare i link di affiliazione. Mi ha fatto pensare se questo script è sicuro o meno. Ho sentito dire che utilizzando la variabile $ _GET può portare a una vulnerabilità.

Tutti i suggerimenti sarebbero apprezzati. Sarebbe controllando l'input per caratteri alfanumerici e il trattino ( '-')? Essere sufficiente per difendersi da questo

Per questo script, i collegamenti in sarebbe di forma:

http://www.somesite.com/amazon.php?asin=XXXXXXXXXX

o

http://www.somesite.com/amazon.php?id=some-keyword

Ecco amazon.php:

   <?php

    $id = $_GET['id'];
    $asin = $_GET['asin'];

    if ($asin != NULL)
    {
        header("Location:http://www.amazon.com/exec/obidos/ASIN/".$asin."/fantasticaffiliate-20");
        exit;
    }

    else
    {
        $links = array(
            "keyword-one" => "http://www.amazon.com/b/?node=1122334455&tag=fantasticaffiliate-20",
            "keyword-two" => "http://www.amazon.com/exec/obidos/ASIN/1352434213/fantasticaffiliate-20"
            );          

        header("Location:".$links[$id]);
        exit;
    }

?>

Grazie come sempre!

È stato utile?

Soluzione

Sì, sarebbe. Nessuno di quei personaggi in qualsiasi combinazione è sufficiente a causare un problema XSS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top