Est-ce que ce script de redirection me ouvrir pour l'injection ou l'inclusion de fichier distant code?

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

Question

Récemment, je suis tombé sur un article de blog sur l'utilisation de scripts PHP pour rediriger les liens d'affiliation. Il m'a fait penser que ce scénario était sûr ou non. J'ai entendu dire que l'utilisation de la variable $ _GET peut conduire à une vulnérabilité.

Toutes les suggestions seraient appréciés. Serait vérifier l'entrée de caractères alphanumériques et le tiret ( « - »)? Suffisant pour se prémunir contre cette

Pour ce script, des liens en serait de la forme:

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

ou

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

Voici 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;
    }

?>

Merci, comme toujours!

Était-ce utile?

La solution

Oui, il le ferait. Aucun de ces caractères dans toute combinaison est suffisante pour causer un problème XSS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top