Archives par mot-clé : hacking

Utilisation de socat avec Tor

Bonjour à tous …

Alors voilà, dans mes éternelles idées stupide, j’ai voulu rediriger des ports de mon ordi sur d’autres ordis via le réseaux tor

L’intérêt ?? L’anonymité bien sûr xD. (et d’autre chose bien plus suptile, mais bon :)).

Imaginons (simple exemple (très inutile)), que l’on veuille ce connecter au superbe site php-engineering.info (donc au port 80), en passant par une addresse local, qui redirigera via le proxy tor au site du domaine php-engineering.info.

Les outils :

socat et tor (a installer si ça n’est pas déjà fait).

La commande de socat à exécuter :

socat TCP4-LISTEN:1337,fork SOCKS4A:localhost:www.php-engineering.info:80,socksport=9050

(avec tor sur le port 9050 bien sûr ^^).

Ensuite, prenez votre navigateur favoris et allez à l’adresse http://127.0.0.1:1337, et là comme par magie vous tombez sur le site de php-engineering.info. Oui mais la vous allez dire : qu’est-ce que tu nous sort là … on a des proxy qui nous permettent de faire ça … (via privoxy ou autres astuces).

Oui, mais là l’astuce c’est que l’on peut utiliser notre navigateur, mais aussi d’autre logiciel qui ne peuvent pas utiliser des proxies (qui a dit nmap??).

Donc voilà … vous voulez jouer à ETQW sur un serveur via un proxy tor … vous avez la solution ;).

Se protéger contre la failles CSRF

Bonjour,

Avec la technologie ajax, les failles CSRF commencent à fleurirent sur internet. Mais qu’est-ce que la faille CSRF ?

Un petit tour sur Wikipedia suffit, ça signifie : Cross-Site Request Forgeries, en fait, il s’agit d’une technique très simple de hacking, qui consiste à rediriger une personne (de préférence un administrateur), sur son site avec des requêtes (en GET ou en POST cf. Protocole HTTP) susceptible de porter atteinte au contenu du site web.

Exemple :

Soit le Pigeon P, administrateur d’un site web dans lequel l’url suivante : http://p-site/post.php?titre=titre&art=article permet l’ajout d’un article avec le titre et le contenu de l’article (exemple stupide).

Imaginons, que P fréquente souvent un forum F, et qu’un Hacker H le sache, il suffit à H de mettre le code suivant comme avatar : http://p-site/post.php?titre=Owned&art=hacked, générant donc sur le forum F, le code suivant : <img src= »http://p-site/post.php?titre=Owned&art=hacked » />, lorsque P regardera le post du hacker H, son navigateur cherchera l’image du lien, et executera l’ajout de l’article (si P était encore authentifié sur son site bien sûr …).

Vous aurez donc très vite compris l’interêt de ce déconnecter d’un site web, d’un forum ou d’un blog tous de suite après avoir effectué vos actions courante …

Bien entendu ce protéger de ce genre d’attaque peut être mieux que de ce déconnecter à chaque fois, d’autant plus que parfois, ça arrive, on oublie de ce déconnecter.

Une technique de protection pour une requête de type POST peut-être la suivante :

$url_de_votre_site="http://www.php-engineering.info/";
if($_SERVER['REQUEST_METHOD']=="POST" AND
!preg_match("#^".$url_de_votre_site."#i",$_SERVER['HTTP_REFERER']))
{
echo "Tentative de CSRF sur un formulaire";
exit;
}
?>

Une technique de protection pour une requête de type GET peut-être la suivante :

$url_de_votre_site="http://www.php-engineering.info/";

//les fichiers auquels on ne peut accéder directement via un autre site
$tab_fichier_interdit[]="edit.php";
$tab_fichier_interdit[]="supprime.php";

if($_SERVER['REQUEST_METHOD']=="GET" AND
!preg_match("#^".$url_de_votre_site."#i",$_SERVER['HTTP_REFERER']))
{
$f=substr($_SERVER['REQUEST_URI'],0,strrpos($_SERVER['REQUEST_URI'],"?"));
//on enlève ce qui est après le ?
$f=substr($f,strrpos($f,"/")+1,strlen($f));
//on isole le nom du fichier

//et on regarde si c'est un fichier qui ne doit pas être accéder
//directement depuis un autre site web
if(in_array($f,$tab_fichier_interdit))
{
echo "Tentative de CSRF sur une url";
exit;
}
}

Bon, bien sûr, il existe d’autre technique, comme mettre un captcha.

Mais pourquoi ai-je critiqué l’ajax ?

Tous simplement, parce que la plupart du temps les développeurs ajax, préfère utiliser du get que du post … aller savoir pourquoi (avec scriptaculous, que ce soit en GET ou en POST c’est presque la même chose).

A noter que par exemple gmail n’utilise que du get dans son système de mail … il paraitrait que des hackers se sont pas mal amusé avec, et qu’il existerait encore des failles … penser à vous déconnecter.