• STATISTIQUES
  • Il y a eu un total de 2 membres et 15366 visiteurs sur le site dans les dernières 24h pour un total de 15 368 personnes!


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


  • ANNUAIRE
  • [FR] Hackfest
    Le Hackfest est un évènement de sécurité et de piratage informatique au Québec reg...
    Hacking
    [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [FR] WeChall
    Audio: 3, Coding: 11, Cracking: 9, Crypto: 18, Encoding: 11, Exploit: 44, Forensics: 1, Fun: 6, HTTP: 6, Image: 8, Java:...
    Challenges
    [FR] dcode
    dcode.fr est le site indispensable pour décoder des messages, tricher aux jeux de lettres, résoudre des énigmes...
    Outils / Add-on
    [EN] Hack This Site
    Hack This Site est considéré comme un réel terrain d'entraînement légal pour le...
    Hacking
    [EN] Defcon
    Lancé en 1992 par Dark Tangent, DEFCON est la plus ancienne et la plus grande conférence underground de...
    Hacking
    [EN] HackQuest
    Logic: 12, JavaScript: 14, Applet: 6, CrackIt: 13, Crypto: 11, Internet: 3, Exploit: 7, Stegano: 12, Flash: 1, Programmi...
    Challenges

  • 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 170 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