Module Anti-Hack !
Fermé
xxkirastarothxx
Messages postés
378
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
-
4 août 2008 à 16:58
Le site du Débutants - 26 oct. 2010 à 14:38
Le site du Débutants - 26 oct. 2010 à 14:38
A voir également:
- Module ci+ hack
- Persistence module - Forum logiciel systeme
- Ci plus key fail - Forum Téléviseurs
- Cisco eap fast module - Forum Windows 8 / 8.1
- Pas de module ci tv lg - Forum TV & Vidéo
- Adèle consulte son compte sur le site de sa banque et obtient l'affichage ci-dessous. complétez le texte. - Forum Facebook
9 réponses
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 327
4 août 2008 à 19:22
4 août 2008 à 19:22
Voilà une idée :
<?php $var='Ce test doit échouer à cause des caractères ">" et "<", le troisième "&" provoque l\'envoi du mail'; //Variable à tester $nb=0; //Compteur de caractères interdits $interdits=array('>','<','&'); foreach($interdits as $caract) { $ajout=mb_substr_count($var,$caract); $nb=$nb+$ajout; } if($nb>2) { //mail(); exit('Tentative de piratage détectée. Action avortée. Un e-mail a été envoyé à l\'administrateur'); } elseif($nb>1) exit('Tentative de piratage détectée. Action avortée.'); //Poursuite du script .... echo "Action autorisée et terminée."; ?>
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 327
4 août 2008 à 19:31
4 août 2008 à 19:31
J'y ai pas réfléchi plus tôt, mais tu sais qu'avec htmlentities() ou htmlspecialchars() ça fonctionne encore mieux. Pour PHP ça ne gène pas puisque le texte ainsi récupéré est une chaîne de caractères.
Il y a aussi une fonction pour notamment éviter les injections SQL mais je ne m'en souviens plus.
Il y a aussi une fonction pour notamment éviter les injections SQL mais je ne m'en souviens plus.
BlackDrag00n
Messages postés
34
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
5 août 2011
8
22 août 2008 à 13:02
22 août 2008 à 13:02
je suis d'accord avec Yoan avec htmlentities() ou htmlspecialchars() ça fonctionne encore mieux.
xxkirastarothxx
Messages postés
378
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
5 août 2008 à 09:16
5 août 2008 à 09:16
mysql_real_escape_stringje connais, mais l'idée c'est surtout:
1] prévenir le hacker que son attaque à été repéré, déjà ça dissuade,
2] faire un rapport complet à l'administrateur avec le plus de détails possible ( IP, os, navigateur etc etc, enfin tout ce qu'on peut récupérer avec les $_SERVER & Cie
je vais voir ce que je peux faire avec ce code, merci ;)
xxkirastarothxx
Messages postés
378
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
5 août 2008 à 12:59
5 août 2008 à 12:59
Merci ça a l'air de faire ce que je recherchais :)
jvais allé m'amuser avec :)
Quelqu'un sais comment récupérer plus d'info du client ?
pasque les $_SERVER['remote_addr'] etc... ça reste limité.
qu'est-ce qui pourrait être pratique de recupérer ?
jvais allé m'amuser avec :)
Quelqu'un sais comment récupérer plus d'info du client ?
pasque les $_SERVER['remote_addr'] etc... ça reste limité.
qu'est-ce qui pourrait être pratique de recupérer ?
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 327
10 août 2008 à 23:28
10 août 2008 à 23:28
Ben pour rester dans l'utile, tu n'as besoin que de l'adresse IP. Quoique sauf si tu veux porter plainte je sais pas trop ce que tu vas en faire, mais sinon tu peux récupérer le user-agent aussi. Dans ce cas présent il te sera pas très utile non plus mais enfin \o/
$_SERVER['HTTP_USER_AGENT']
$_SERVER['HTTP_USER_AGENT']
Tu peux récupérer :
Le navigateur
L'adresse ip
Pour le naviguateur , une petite astuce :
A+
http://sitedebutant.u7n.org/
Le navigateur
L'adresse ip
Pour le naviguateur , une petite astuce :
<?php if(preg_match("/Firefox/",$_SERVER['HTTP_USER_AGENT'])){ $navigateur = "Firefox"; } if(preg_match("/Safari/",$_SERVER['HTTP_USER_AGENT'])){ $navigateur = "Safari"; } if(preg_match("/MSIE/",$_SERVER['HTTP_USER_AGENT'])){ $navigateur = "Internet Explorer"; } ?> Ahah , tu crois que tu me fais peur avec ton petit hack !<br /> Ton adresse ip est <?php echo $_SERVER['REMOTE_ADDR']; ?> , et ton navigateur est <?php echo $navigateur; ?><br /> Et après tu continue de lui faire peur blablabla
A+
http://sitedebutant.u7n.org/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
xxkirastarothxx
Messages postés
378
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
22 août 2008 à 11:12
22 août 2008 à 11:12
il doit y avoir d'autre solution, certain comme Mon-ip.com arrive à détéctée une multitude de chose bien pratique pour ce genre de module, comme l'adresse ip interne, l'adresse ip externe, l'adresse ip du proxy(si détecté), le port utilisé.
déjà le $_SERVER['HTTP_USER_AGENT'] est peu fiable, car de mon travail aucune information n'est retrouvée grâce à cette commande, alors que d'autre sites me l'indique sans problème.
quelqu'un connait-il un moyen pour récupérer ce genre d'info ?
déjà le $_SERVER['HTTP_USER_AGENT'] est peu fiable, car de mon travail aucune information n'est retrouvée grâce à cette commande, alors que d'autre sites me l'indique sans problème.
quelqu'un connait-il un moyen pour récupérer ce genre d'info ?
xxkirastarothxx
Messages postés
378
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
22 août 2008 à 14:10
22 août 2008 à 14:10
"je suis d'accord avec Yoan avec htmlentities() ou htmlspecialchars() ça fonctionne encore mieux."
Les gens faut apprendre à comprendre, ou à lire:
"je connais, mais l'idée c'est surtout:
1] prévenir le hacker que son attaque à été repéré, déjà ça dissuade,
2] faire un rapport complet à l'administrateur avec le plus de détails possible ( IP, os, navigateur etc etc, enfin tout ce qu'on peut récupérer avec les $_SERVER & Cie"
un site comporte obligatoirement des failles. Avec des simples htmlentities() ou htmlspecialchars() l'attaque est bloquée, mais à un moment ou à un autre quelqu'un trouvera la faille et se ferra plaisir.
Avec le module que j'essaye de développer, rien n'empêche, lors de la poursuite du script, de rajouter les balises htmlentities(), htmlspecialchars() et/ou mysql_real_escape_string().
exemple à l'arache :
Dans mon module je pensais également ajouter une partie d'auto-ban lorsque plus de 3 attaques ont été détectées sur la même IP par exemple, c'est là l'avantage, et c'est loin d'être le seul auquel j'ai pensé.
M'enfin si vous connaissez une fonction php qui fait la même chose que ce que je développe, prévenez moi encore que je rigole ^^
autre Exemple:
un hacker essaye de se logué en admin grace à:
login: admin
pass: ' or ''=''
c'est une faille stupide, mais assez fréquente.
Et bien là, non seulement l'attaque est bloquée par les magicquote (ou addslashes) les htmlspecialchars etc, mais EN PLUS un rapport est fais à l'administrateur, qui pourra vérifier le type d'attaque etc.
Le hacker est prévenu que l'administrateur est au courant, et qu'il peut être banni au bout de la 3ème tentative détéctée.
Comme un rapport est fait à l'administrateur, ce dernier peu également repérer des failles auxquels il n'avait pas pensé, et on peut encore trouver d'autre fonctionalitée a ce type de module.
après il y a surement mieux que le ban par IP, par-ce que l'IP ça se change simplement, mais ça je cherche encore.
le user agent ? l'os + le navigateur + je sais pas quoi d'autre similaire ?
ma question reste dans mon post précédant
Les gens faut apprendre à comprendre, ou à lire:
"je connais, mais l'idée c'est surtout:
1] prévenir le hacker que son attaque à été repéré, déjà ça dissuade,
2] faire un rapport complet à l'administrateur avec le plus de détails possible ( IP, os, navigateur etc etc, enfin tout ce qu'on peut récupérer avec les $_SERVER & Cie"
un site comporte obligatoirement des failles. Avec des simples htmlentities() ou htmlspecialchars() l'attaque est bloquée, mais à un moment ou à un autre quelqu'un trouvera la faille et se ferra plaisir.
Avec le module que j'essaye de développer, rien n'empêche, lors de la poursuite du script, de rajouter les balises htmlentities(), htmlspecialchars() et/ou mysql_real_escape_string().
exemple à l'arache :
if($erreur ==2) { exit('action stopée');} elseif($erreur >=3) { exit('Action concidéré come hack: rapport effectué(ip, agent etc...)');} else { $var = mysql_real_escape_string(htmlspecialchars($var)); }
Dans mon module je pensais également ajouter une partie d'auto-ban lorsque plus de 3 attaques ont été détectées sur la même IP par exemple, c'est là l'avantage, et c'est loin d'être le seul auquel j'ai pensé.
M'enfin si vous connaissez une fonction php qui fait la même chose que ce que je développe, prévenez moi encore que je rigole ^^
autre Exemple:
un hacker essaye de se logué en admin grace à:
login: admin
pass: ' or ''=''
c'est une faille stupide, mais assez fréquente.
Et bien là, non seulement l'attaque est bloquée par les magicquote (ou addslashes) les htmlspecialchars etc, mais EN PLUS un rapport est fais à l'administrateur, qui pourra vérifier le type d'attaque etc.
Le hacker est prévenu que l'administrateur est au courant, et qu'il peut être banni au bout de la 3ème tentative détéctée.
Comme un rapport est fait à l'administrateur, ce dernier peu également repérer des failles auxquels il n'avait pas pensé, et on peut encore trouver d'autre fonctionalitée a ce type de module.
après il y a surement mieux que le ban par IP, par-ce que l'IP ça se change simplement, mais ça je cherche encore.
le user agent ? l'os + le navigateur + je sais pas quoi d'autre similaire ?
ma question reste dans mon post précédant
xxkirastarothxx
Messages postés
378
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2013
40
25 août 2008 à 08:33
25 août 2008 à 08:33
je n'avais éffectivement pas pensé à ce point de details.
Il est vrai qu'un utilisateur peu avoir http ou php dans son pseudo, par exemple.
Mais est-ce vraiment gênant, dans le sens où je ne les interdits pas, je les repère et je les interdits seulement s'il sont trop nombreux.
Un rapport étant fait à l'administrateur, celui ci pourra choisir ou non de laisser passer la requête à l'avenir.
Il est vrai qu'un utilisateur peu avoir http ou php dans son pseudo, par exemple.
Mais est-ce vraiment gênant, dans le sens où je ne les interdits pas, je les repère et je les interdits seulement s'il sont trop nombreux.
Un rapport étant fait à l'administrateur, celui ci pourra choisir ou non de laisser passer la requête à l'avenir.
Bonjour
Si ça peut servir, dans l'optique 'Bien connaître pour mieux défendre. (Gérard Haas)' :
Le Site du Zéro : Les expressions régulières (Partie 1/2)
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916990-les-expressions-regulieres-partie-1-2
Le Site du Zéro : Les expressions régulières (Partie 2/2)
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/917386-les-expressions-regulieres-partie-2-2
Le Site du Zéro : Mémo pour les Regex
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/918834-memento-des-expressions-regulieres
Les caractères spéciaux ou les chaînes particulières de caractères ne sont pas le problème !
Les données sont interprétées comme du code actif au lieu d'être ignorées !
Ce sont les effets qu'ils déclenchent le problème ! Aucun caractère ne doit être interdit.
(Un caractère peut ne pas être utilisable par convention mais pas interdit pas convenance personnelle)
Merci
Si ça peut servir, dans l'optique 'Bien connaître pour mieux défendre. (Gérard Haas)' :
Le Site du Zéro : Les expressions régulières (Partie 1/2)
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916990-les-expressions-regulieres-partie-1-2
Le Site du Zéro : Les expressions régulières (Partie 2/2)
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/917386-les-expressions-regulieres-partie-2-2
Le Site du Zéro : Mémo pour les Regex
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/918834-memento-des-expressions-regulieres
Les caractères spéciaux ou les chaînes particulières de caractères ne sont pas le problème !
Les données sont interprétées comme du code actif au lieu d'être ignorées !
Ce sont les effets qu'ils déclenchent le problème ! Aucun caractère ne doit être interdit.
(Un caractère peut ne pas être utilisable par convention mais pas interdit pas convenance personnelle)
Merci