CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Comment éviter un bruteforcing ?

Ansem_KH
Ansem_KH
Niveau 10
13 janvier 2014 à 18:48:40

Voici le code source résumé de ma page Web en PHP :

<?php
session_start();
if(isset($_POST['password']))
{
$mdp = htmlspecialchars($_POST['password']);
if($mdp=="Q4T1V0OO7D9A5CLG5S")
{
$_SESSION['login'] = "LOGIN";
$_SESSION['mdp'] = "PASSWORD";
echo "Identifiants corrects !";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>%20ConvertRand</title>
</head>
<body>
<p>Veuillez entrer le mot de passe :</p>
<form name="form1" action="co.php" method="post">
<input type="password" name="password" placeholder="Password" />
<input type="submit" value="OK" />
</form>
</body>
</html>

Comment éviter un bruteforcing ?

:merci:

+ Non, je sais PAS mettre de captcha ni de code de confirmation :-(

Jvousmanipule
Jvousmanipule
Niveau 9
13 janvier 2014 à 19:05:49

T'utilise une bdd ?

Ansem_KH
Ansem_KH
Niveau 10
13 janvier 2014 à 19:10:23

Non, j'utilise pas de SQL ni de Base de Donnée

Ansem_KH
Ansem_KH
Niveau 10
13 janvier 2014 à 19:12:13

J'utilise pas de SQL/BBD

ça importe quoi ?

vava740
vava740
Niveau 10
13 janvier 2014 à 19:20:51

Appelons {n} le nombre d'essais autorisés dans un délai de {d} secondes.

L'action de "logger" revient à persister des données (dans un fichier, en BDD ou autre, comme bon te semble).

- Pour chaque requête tu log l'IP et le timestamp.
- À chaque envoi de formulaire, tu calcules le nombre de requête pour cette IP qui ont été faites dans les {d} dernières secondes.
- Si le nombre de requêtes est supérieur ou égal à {n}, tu log l'IP en question dans un emplacement réservé aux ban (une table, un autre fichier, etc).

Et bien sûr à chaque requête, avant même de logger l'IP, tu interromps le script si l'IP est considérée comme bannie.

Pense quand même à nettoyer la liste des IP bannies au bout d'un certain temps.

Jvousmanipule
Jvousmanipule
Niveau 9
13 janvier 2014 à 19:25:28

vava740 il n'utilise pas de sql/bdd.

Je vois pas comment alors, par cookie ?

Ansem_KH
Ansem_KH
Niveau 10
13 janvier 2014 à 19:40:12

JvousManipule Voir le profil de JvousManipule
Posté le 13 janvier 2014 à 19:25:28 Avertir un administrateur
vava740 il n'utilise pas de sql/bdd.

Je vois pas comment alors, par cookie ?

==> En utilisant un fichier texte. :)
ça je peux gérer, merci à tous !

Kimpeek
Kimpeek
Niveau 10
13 janvier 2014 à 20:09:57

Oui un fichier texte.. et tu pourrais même rajouter un cookie en parallèle en guise de sécurité supplémentaire.

vava740
vava740
Niveau 10
13 janvier 2014 à 21:24:03

En général quand on bruteforce on envoie pas les cookies. :hap:

Kimpeek
Kimpeek
Niveau 10
13 janvier 2014 à 22:06:43

Oui en général, mais je parlais pas forcément de bruteforce là.

C'est un truc supplémentaire qui ne demande pas beaucoup d'effort notamment quand d'autres cas de figure se présentent.

NPlay
NPlay
Niveau 12
13 janvier 2014 à 22:22:01

C'est une sécurité superficielle que tu prendras plus de temps à développeur que l'attaquant à contourner. Pire encore, il ne se rendra même pas compte dans la quasi-totalité des cas.

Kimpeek
Kimpeek
Niveau 10
13 janvier 2014 à 22:51:39

De se protéger de vols de cookies ?

Kimpeek
Kimpeek
Niveau 10
13 janvier 2014 à 22:57:09

Puis même pour mettre un cookie, ça ne coûte que 2 min à rédiger un if {$_COOKIE blablaa > 5 -> header("HTTP.. 404..");} setcookie(..)

C'est superficiel, mais l'attaque par brute force n'est pas le seul moyen de "pirater" un site. Plutôt qu'utiliser un système de fichier ou bdd, autan mettre une tampo et voilà.

Jvousmanipule
Jvousmanipule
Niveau 9
13 janvier 2014 à 22:59:25

De plus, suffit de faire un mdp avec maj min caractere spéciaux et tu risques rien. Je vois mal un pirate lancé un programme qui tourne des jours pour cracké ton mdp, tu n'es pas la nasa.

Kimpeek
Kimpeek
Niveau 10
13 janvier 2014 à 23:00:54

autant*
temp*

D'ailleurs dans le livre "Sécurité PHP5 et Mysql" de Damien Seguy et Philippe Gamach, ils remmandent eux mêmes l'utilisation d'un setcookie contre les attaques par dictionnaire. (bien qu'il puisse être simplement ignoré ou effacé par le script du pirate "cependant il est étonnant de voir combien de robots d'internet respectent les cookies et sont donc enclins à le renvoyer" je cite)

Kimpeek
Kimpeek
Niveau 10
13 janvier 2014 à 23:03:49

De plus, suffit de faire un mdp avec maj min caractere spéciaux et tu risques rien. Je vois mal un pirate lancé un programme qui tourne des jours pour cracké ton mdp, tu n'es pas la nasa.

:d) Bah oui, à la base il va pas se faire hacker pour un document top secret sur son site FBI. Mais si le gars bien en vient à réaliser un système gérant des IP, alors à côté ça lui coûte rien d'écrire 3 lignes pour un setcookie. Et encore mieux : sleep(1)

vava740
vava740
Niveau 10
13 janvier 2014 à 23:23:24

+1 pour le sleep.

Au passage faut arrêter avec les MDP min maj caractères spéciaux trololo, c'est pas ce qu'on fait de plus simple à retenir et à taper, et c'est pas forcément plus sécurisé.

J'avais testé ça < http://www.passweird.com/ >.
Ça m'a généré "iNf3$t3DbE11y96#0" ("facile à retenir").
D'après < http://blog.kaspersky.com/password-check/ > ça met 5227 siècles à forcer (pas mal).

Après j'ai testé "onch onch kom je boa du ponch", d'après Kapersky ça met plus de 10000 siècles. :hap:

Alors je ne sais pas comment ils calculent le truc, mais ça donne au moins une idée.

Jvousmanipule
Jvousmanipule
Niveau 9
14 janvier 2014 à 10:39:01

C'est vrai que _PetitPoneyDesBois0_ c ´est hard à retenir

NPlay
NPlay
Niveau 12
15 janvier 2014 à 09:33:06

Je parlais exclusivement des attaques par bruteforce en effet.
Le cookie reste une protection illusoire qui se fait juste totalement démonter par rapport à d'autres protections. En plus du côté totalement amateur de la chose.

« D'ailleurs dans le livre "Sécurité PHP5 et Mysql" de Damien Seguy et Philippe Gamach, ils remmandent eux mêmes l'utilisation d'un setcookie contre les attaques par dictionnaire. »
Merci de me le déconseiller, du coup.

Mettre un mot de passe compliqué suffit, oui, dans le cas où tu choisis le mot de passe, ce qui n'est pas forcément le cas de tous les sites, notamment ceux disposant d'un système d'inscription.

Le sleep(1) est également une protection illusoire.

Kimpeek
Kimpeek
Niveau 10
15 janvier 2014 à 12:40:07

Bah justement, il y a aussi des amateurs, des noobs qui s'aventurent dans le hack et ne se rendront même pas compte du cookie. Donc ça servira au moins à ça.

Concernant l'illusoire, même passer par un VPN, utiliser le RSA à base d'indicatrice d'Euler etc.. ne garantit pas une sécurité absolue. Néanmoins de telles mesures permettent de prévenir un risque, parfois même de le minimiser au possible.

Puis comme on l'a dit plus haut, y'a peu de chances que son site soit sujet d'attaques placées et répétées. Donc il faudrait déjà réfléchir à l'intérêt de mettre un système anti-b.force juste après avoir codé ça :

" if($mdp=="Q4T1V0OO7D9A5CLG5S")
{
$_SESSION['login'] = "LOGIN";
$_SESSION['mdp'] = "PASSWORD"; "

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment