Archives pour la catégorie Sécurité

P’tite News …

Bijour à tous …

Quelques petites infos …

Côté sécurité informatique … z’avez sûrement entendu parler de Wapiti, une alpha a été release il y a peu (la 1.1.7), avec l’ajout de nouvelle règle pour contourner les scripts de détection de XSS/SQL Injection …

Je manquais d’idée pour coder mon toolz (cf. 2g’s web vulnerability scanner), me voilà reparti, d’ici là, je commiterai des fix pour windows (jusque là c’était inutilisable …), certaines idée semble plutôt sympa, et se retrouveront sûrement dans mon logiciel ^^, c’est beau l’open-source!! (cela dit, je suis très loin de ce superbe outil ;-)).

Maltego2.10 est sortie depuis un bail déjà mais bon …pour ce qui savent pas trop à quoi sert ce logiciel :

C’est pour faire comme les RG … ça permet de récupérer et de mettre en forme des ensembles d’information sur des données sur le net (genre lié des adresses mail à des noms, des noms de domaines, des ip’s, …). Ce qui peut être utile pour du social engineering voir que sur internet personne n’est inconnu ^^ … c’est zarb … je trouve pas ma grand-mère avec ce toolz ;-).

Google chrome sort le dev-channel … pour avoir les dernières up avant tous le monde 😉 … pourquoi les autres blogs n’en parlent pas ??? Je suis « has been » ou « on the edge » là?? A quand le paquet .deb pour Ubuntu? ^^

Du côté personnel, j’arrête php-engineering (fin du domaine pour le 31 octobre), j’ai déjà déréférencer le site, histoire que le parking qui le remplace ne rapporte rien ^^ (avoué qu’il n’y avait plus grand chose à déréférencer!!).

Niveau boulot, je suis depuis 1 semaines déjà, développeur chez advisa en alternance avec ma licence CDED (quoi tous le monde s’en fout ??). Juste un truc pour les DUT/BTS info qui veulent faire une licence pro … la CDED saymal … que de la gestion de projet … très peu de dev et de sys :-s.

Sinon, par rapport à mon boulot, ma mission est … si je l’accepte bien sûr de dev un outil d’envoi de spam de newsletters en liaison avec le CMS de la boite ou à partir d’une liste de mails, avec la possibilité de dev la chose en plusieurs partie (CLI, interface web et …) selon plusieurs orientation possible (choix de la structure de la bdd et de la forme de la chose)… et bien sûr la possibilité de récupérer les stats (lecture du mail, clics sur les liens, …) et plein d’autre réjouissance en cours de route. Malheureusement le tout en PHP … pas un misérable bout de C++/QT :’-(

Juste une question … pourquoi moi???^^ Je déteste les mails et encore plus les newsletters …

Paranoïa sur le net …^^

Bijour à tous …

En ces temps tumultueux sur internet, et suite notamment à cette article, me voici dans ma période « faire joujou avec l’anonymat et le chiffrage ».

Bon question anonymat je suis cuit (suffit de taper mon pseudo sur google et …), mais bon je peux rattraper le coup avec le chiffrage de mes données sensibles!!

Donc voilà quelque astuces pour épargner vos informations persos (mdp, …) des flics véreux, des FAI ou des personnes mal intentionnées.

Pour l’anonymat et la sécurité des données sur le net :

  • Courriels :
    • Connexion aux webmails/serveurs de mails en cryptées :
      • Soit par le protocole https pour les webmails
      • Option https de Gmail
      • Soit par les protocoles imaps / pop3s
    • Envoyer les messages et les pièces jointe chiffrées (quand ce sont des informations qui en valent la peine bien sûr ^^) :
      • Utiliser les clés de chiffrages GPG quand l’interlocuteur en a une.
      • Utilisation de l'extension FireGpg pour chiffrer et signer un message sur gmail
      • Utiliser des cryptages symétrique sinon (AES, RSA, …) en gardant à l’esprit que ça se casse facilement.
  • Messagerie instantanée :
    • Utilisation de chiffrage lors des authentifications (cf. option Amsn pour MSN)
    • Chiffrer les messages avec l’interlocuteur si le protocole le permet (cf. XMPP)
  • Navigation Web :
    • Préférer les systèmes d’authentification cryptés lors de l’utilisation d’identifiant/mdp (car ceux-ci devront être enregistré par le FAI si la loi cité dans le lien passe, … donc si c’est crypté ils ne peuvent rien en faire).
    • Utiliser des proxies (Tor ;)) situé dans d’autre pays (et de préférences crypté) lorsque vous navigué sur des pages à contenu … litigieux?? (warez, … ^^ mais qui donc oserais??)
    • Sinon, prendre un login et un mot de passe bidon pour tous les autre sites

Pour la sécurité des données de votre PC :

  • Cryptage des données :
    • Partition entière ou répertoire :
    • Chiffrage de quelque données perso via GnuPG
  • Suppression des données :
    • Préférer des commandes de destruction et non l’utilisation de la corbeille ou du rm :
      shred -n 35 -z -u nomDuFichier

      Pour les fichiers qui en valent la peine ^^, genre les films qui ont été gravé ;), et bien sûr éviter d’utiliser des partitions journalisées pour ce genres de données.

  • Accès physique à l’ordinateur : (ça peut arriver ^^)
    • Mettre un mot de passe au lancement du BIOS.
    • Mettre un mot de passe au lancement du GRUB. (bof bof)
    • Utiliser un bon mot de passe pour le lancement des sessions (avec un système de cryptages des partitions qui décrypte les partitions qu’a partir du moment où l’on est loggué, ça peut être super efficace).

Bon … faudrait pas que ce soit au point de vous dégouter de l’informatique ^^. Mais envisager de changer certaine de ces habitudes quant à l’utilisation des logins/mdp et du chiffrages de certain de ses courriels pour être assez utiles pour l’avenir …

Voilà, le chiffrage c’est bien sûr comme les préservatifs … c’est pas sûr à 100%, mais avec c’est mieux :p, et ont à tendance à ce prendre pour un agent secret lorsqu’on reçoit un message crypté^^

Php: éviter les injections tout en préservant l’intégrité des données

Re bijour ^^

Encore une astuce à haute valeur philosophique …

Rapide rappel :

Pour éviter les SQL injections … la plupart du temps on fait appel à des addslashes, mysql_real_escape et … qui peuvent s’avérer dangeureuse suivant qu’on utilise du PHP5 ou PHP4 (et encore … la plupart du temps, il faut regarder les sous-sous version), alors il faut faire des fonctions qui teste tout et n’importe quoi … mais on est jamais sûr que sur tel ou tel serveur le script est sécurisé …

Alors voici une rapide astuce qui permet d’assurer la sécurité et l’intégrité des données (qui peut fonctionner tant que l’on ne fait pas d’insertion ^^).

Utiliser du md5!!! ou un autre type de chiffrage via crypt, … qui vous permettront de préserver l’intégrité des données transportées tout en ne portant pas préjudice au serveur SQL.

Exemple lors du login d’une personne, la requête associée pourrait être :

mysql_query(« select * from utilisateurs where login=' ».mysql_real_escape($_POST[‘login’]). »‘; »);

donc si un jour on transfert ce code sur un serveur ayant php 4.2 … le script ne marche plus ^^ (d’accord … qui irait passer de php5 à php 4.2 -> c’est pour l’exemple).

Par contre avec ce code :

mysql_query(« select * from utilisateurs where MD5(login)=' ».md5($_POST[‘login’]). »‘; »);

aucun problème … ^^ et vous êtes sûr que si ça renvoie une ligne ça soit la bonne ;).

Bon comme dit dans l’introduction, il faut quand même insérer des données (et ouai ça arrive parfois :p), et là … ça ne marcherait plus trop à part si vous êtes billingue français/md5.

A propos de billinguisme français/md5, y’a un superbe logiciel qui permet de craquer du md5 de façon sympa et très rapide les md5 (md5brute : http://www.tuxemu.se.nu/)

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.