Esse script redirecionaria me abriria para injeção de código ou inclusão de arquivo remoto?
-
23-09-2019 - |
Pergunta
Recentemente, deparei com um artigo do blog sobre o uso de scripts PHP para redirecionar links de afiliados. Isso me fez pensar se esse script estava seguro ou não. Ouvi dizer que o uso da variável $ _GET pode levar a uma vulnerabilidade.
Quaisquer sugestões seriam apreciadas. Verificar a entrada de alfanuméricos e o hífen ('-') seria suficiente para se proteger contra isso?
Para este script, os links in seriam da forma:
http://www.somesite.com/amazon.php?asin=XXXXXXXXXX
ou
http://www.somesite.com/amazon.php?id=some-keyword
Aqui está a 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;
}
?>
Obrigado como sempre!
Solução
Sim, seria. Nenhum desses personagens em qualquer combinação é suficiente para causar um problema XSS.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow