web-dev-qa-db-fra.com

Comment exploiter la vulnérabilité de redirection ouverte?

J'ai la vulnérabilité de redirection ouverte suivante:

<?php
$redirectUrl = $_GET['url'];
header("Location: $redirectUrl");
?>

Cet exploit envoie l'utilisateur de votre page vers la mauvaise page:

example.com/?url=example.com/faq.php
example.com/?url=evil.com/sploitCode.php

Comment insérer evil.com/sploitCode.php dans la page/URL de la victime?

10
nik

Exactement comme vous le faites. L'idée des vulnérabilités de redirection ouverte est d'utiliser la confiance qu'un utilisateur a dans un site Web spécifique (le site vulnérable) et de l'exploiter pour qu'il visite votre site Web.

Vous enverriez donc ce lien à un utilisateur: example.com/?url=evil.com/sploitCode.php. Parce que le site Web qu'ils voient est example.com, et ils leur font confiance, ils vont cliquer dessus (en théorie). En revanche, si vous les auriez envoyés evil.com, ils ne cliqueraient pas dessus, car ils ne le connaissent pas ou ne lui font pas confiance.

Vous pouvez également masquer davantage l'url example.com/some/Nice/sounding/path/%2F..%2F..%2F..%2F..%2F/?url=evil.com/something-less-evil.php?some-unneded=parameters. Ensuite, vous pouvez également l'envelopper dans une balise Nice a, afin que les utilisateurs soient moins suspects (alors le principal avantage est que le survol du lien leur montrera un lien innocent à première vue).

13
tim

Notez que l'URL que vous donnez comme exemple, peut également être écrite comme telle:

example.com/?%75%72%6C=%65%76%69%6C%2E%63%6F%6D%2F%73%70%6C%6F%69%74%43%6F%64%65%2E%70%68%70

Le domaine, evil.com, n'est plus visible dans le lien. Ce n'est pas du tout une redirection. Cela ne semble pas tout à fait normal, mais à quelle fréquence y a-t-il des liens amusants dans les e-mails qui incluent un code de suivi? Le domaine est parfaitement légitime.

3
Luc

Votre question n'est pas claire. Le site a-t-il déjà une vulnérabilité Open Redirect ( https://www.owasp.org/index.php/Open_redirect )? Si c'est le cas, procédez comme tim l'a déjà dit. Si ce n'est pas le cas et que vous êtes intéressé par les méthodes générales pour obtenir votre code malveillant dans ses pages, alors soit vous piratez le site ("obtention de Shell"), soit vous trouvez une sorte de vulnérabilité de téléchargement de fichier sans restriction ( https : //www.owasp.org/index.php/Unrestricted_File_Upload ), ou forcez le mot de passe du compte ftp avec des privilèges suffisants pour remplacer les pages du site, puis mettez à jour la page .php que vos cibles visiteront fréquemment avec votre code malveillant.

0
tis