• STATISTIQUES
  • Il y a eu un total de 3 membres et 5776 visiteurs sur le site dans les dernières 24h pour un total de 5 779 personnes!


    Membres: 2 608
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Secuser
    Actualité de la sécurité informatique, fiches virus et hoax, alertes par email, antivirus gratui...
    Hacking
    [EN] Dare your mind
    JavaScript: 6, Crypto: 44, Stegano: 36, Logic: 13, Special: 27, Science: 11, Realistic: 7, Programming: 10, Crack It: 6,...
    Challenges
    [EN] Astalavista
    Un site aux ressources incontournable depuis plusieurs années, Astalavista est réellement devenue un cl...
    Hacking
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation
    [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges
    [EN] CS Tutoring Center
    Site de challenge spécialisé dans les challenges de programmation C++ et java cependant, d'autres langages pe...
    Challenges
    [FR] Developpez.net
    Un forum communautaire qui se veut pour les développeurs en générale. Avec presque 500 000 membr...
    Programmation

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Attaque par fixation de session
09-03-2013, 08h26
Message : #1
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
Attaque par fixation de session
Salut,

Toujours sur mon framework, j'essaye de créer mon gestionnaire de session, de la doc j'ai repris ce code :
Code PHP :

class MySessionHandler implements \SessionHandlerInterface
{
        private $savePath;

        public function open($savePath, $sessionName)
        {
                $this->savePath = $savePath;
                if (!is_dir($this->savePath))
                        mkdir($this->savePath, 0777);
                return true;
        }

        public function close()
        {
                return true;
        }

        public function read($id)
        {
                return (string)@file_get_contents($this->savePath.$id);
        }

        public function write($id, $data)
        {
                return file_put_contents($this->savePath.$id, $data) === false ? false : true;
        }

        public function destroy($id)
        {
                $file = $this->savePath.$id;
                if (file_exists($file))
                        unlink($file);
                return true;
        }

        public function gc($maxlifetime)
        {
                foreach (glob($this->savePath.'*') as $file)
                {
                        if (filemtime($file) + $maxlifetime < time() && file_exists($file))
                                unlink($file);
                }
                return true;
        }
}

 


Outre les suppresions d'erreurs dégeulasses, cette ligne me pose quelques soucis de sécurité :
Code PHP :

return (string)@file_get_contents($this->savePath.$id);
 

$id étant le contenu du cookie {session_cookie_name} , bon outre le fait que "../htaccess" supprimerais la totalité du précieux fichier, je me demandais si ça posais pas de problème qu'un utilisateur puisse définir lui-même le SID...
Une attaque par fixation passerais par un lien page.php?PHPSESSID={new_id} mais là, ça me semble pas possible avec du javascript de send un header personnalisé.

Donc un coup de ctype et c'est bon ? où faut empecher l'utilisateur de le modifier en gardant une trace de chaque SID généré et de comparer avant ?
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre
09-03-2013, 12h30 (Modification du message : 09-03-2013, 12h40 par InstinctHack.)
Message : #2
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: Attaque par fixation de session
Bon en fait je m'auto-répond Smile

La modification du sid auras plusieurs conséquences :
création d'un nouveau fichier.
"perte" des données de la session précédante (bien qu'on puisse repasser sur l'autre en la renvoyant)

les précautions à prendre sont que le sid soit alphanumériques (en vérité, faut vérifié que le fichier ne remonte pas dans les dossier, ce qui pourrais rendre inaccessible le site) (bien sur ça dépend de la façon dont on stocke les données, j'ai choisi les fichiers Smile )

donc, n'importe qui peux se créer un nouveau sid (bien que vous pouvez faire des tests de longueur/compléxité avant, et même interdire cette pratique en gardant dans un autre fichier les sid que le serveur auras généré, ainsi si un client se pointe avec un sid qui n'en fait pas partie, il se fait recevoir comme il faut Big Grin )

Et puis comme il est de bonne pratique de regenerer le sid lors d'une élévation de droit et si vous la suivais, l'utilisateur seras obligé de garder ce sid, dans le cas contraire, il perdras tout privilège que l'élévation lui aurais donnée.

Si ça peux en aider d'autres à l'avenir Wink
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (1) -1 (0) Répondre
15-03-2013, 09h44
Message : #3
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: Attaque par fixation de session
Au fait j'ai un autre problème maintenant.. Le système marche très bien, tant qu'on as les cookie activés (normal quoi)
En revanche, c'est pas la fête quand on les desactive, en effet un fichier est crée à chaque requete, ce qui fait que le dossier temporaire pour les sessions glonfle :O donc un con qui demande 500 page à la minute auras vite fait de faire planter le système. (je vais faire un système d'anti-dos (ok ça reste de l'applicatif) ) mais le problème est toujours là Sad
J'arrive à detecter les cookie en deux requetes , mais ça change rien, j'ai pensé à garder l'historique des demandes de création de session et limiter la création à une ip toutes les minutes, mais je sais pas... l'idée me plait pas trop... à voir Smile
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Attaque d'un serveur. HELP !! Coolrain 4 167 06-12-2017, 11h21
Dernier message: supersnail

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut