Сможет ли этот сценарий перенаправления открыть мне возможность внедрения кода или удаленного включения файла?

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

Вопрос

Недавно я наткнулся на статью в блоге об использовании PHP-скриптов для перенаправления партнерских ссылок.Это заставило меня задуматься, безопасен ли этот сценарий или нет.Я слышал, что использование переменной $_GET может привести к уязвимости.

Мы ценим любые предложения.Достаточно ли проверки ввода букв, цифр и дефиса («-»), чтобы защититься от этого?

Для этого скрипта ссылки будут иметь вид:

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

или

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

Вот 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;
    }

?>

Спасибо, как всегда!

Это было полезно?

Решение

Да, так и есть.Ни одного из этих символов в любой комбинации недостаточно, чтобы вызвать проблему XSS.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top