Bu yönlendirme komut dosyası kod enjeksiyon veya uzaktan dosya eklenmesi için beni açacak?

1 Cevap php

Geçenlerde veyataklık bağlantılarından yönlendirmek PHP komut dosyalarını kullanma hakkında bir blog makalesinde karşılaştım. Bu komut dosyası güvenli olup olmadığı beni düşünme var. Ben $ _GET değişkeni kullanarak bir güvenlik açığına neden olabileceğini duydum.

Herhangi bir öneriniz mutluluk duyacağız. Alphanumerics için giriş ve tire kontrol etmem ('-') bu karşı kveyaumak için yeterli olacak mı?

Bu komut için, fveyamun olacaktır içinde linkler:

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

veya

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

İşte amazon.php olduğunu:

   <?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(
            "keywveyad-one" => "http://www.amazon.com/b/?node=1122334455&tag=fantasticaffiliate-20",
            "keywveyad-two" => "http://rads.stackoverflow.com/amzn/click/1352434213"
            );          

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

?>

Teşekkürler her zaman olduğu gibi!

1 Cevap

Evet, öyle. Herhangi bir kombinasyonda bu karakterlerin hiçbiri bir XSS soruna neden yeterlidir.