Προς το περιεχόμενο

PHP και κρυπτογράφηση


HaPagan

Προτεινόμενες αναρτήσεις

Δημοσ.
Lyman_Zerga

said:

O xrhsths bazei to passwd sthn selida. Kanei submit. To passwd feygei plain text. To kaneis hash meta kai to xrhsimopoieis stis selides poy einai authed me kapoio POST toy styl $pass_hashed=foo. ??

Pali den yparxei asfaleia, afoy arkei na mpw sthn selida symperilambanontas sto POST moy to klemmeno hash, h na faw to passwd thn prwth fora poy ginetai transmited.

An to kaneis hash gia na to baleis se cookie, exei ena nohma, alla kai pali den mporoyme na milhsoyme gia asfaleia, afoy arkei na klapei to cookie toy user (ena CSS/XSS attack, poly common stis meres mas) kai voila.

 

Τη λογική σου δε τη έποιασα. Το password φυσικά και φεύγει plain text (μπορείς να χρησιμοποιήσεις SSL αν θες), γίνεται hashed με τη md5 και συγκρίνεται με το ήδη αποθηκευμένο hash.

 

Και να βρεις το αποθηκευμένο hash δε υπάρχει τρόπος να μπεις. Να πας από το hashed αποτέλεσμα στο αρχικό είναι σχεδόν αδύνατο. Αν κάνεις POST το hash που έχεις βρει, θα ξαναγίνει hashed και θα προκύψει ένα εντελώς διαφορετικό αποτέλεσμα.

Δημοσ.

Sorry alla an den ginetai me javascript h diadikasia twn cookies alla me server side tropo den einai dynato na doulepsei to <script> pou stelnei o attacker. Apo thn allh einai ligo vlakeia na valeis san cookie to password. Afto pou isws na kaneis einai na ftia3eis ena session sto server, o opoios 8a fylaei sth mnhmh tou to password kai oxi o client. O client 8a exei mono to session ID. An to session ID den einai generated apo to server alla apo to server side script, einai dynato na ginei hack se afto. An omws ginei generated apo thn ekastote server side texnologia, tote synh8ws to ka8e sessionID antistoixeitai kai sthn IP tou client, opote dyskola pistevw mporei kapoios na kanei login 3erontas to sessionID.

Den exw psa3ei vevaia to 8ema tou security kai tou hacking ka8olou (exw pio epikodomhtika pragmata na ma8w <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/tongue.gif" alt="" />). Apo thn allh den 3erw ka8olou pws ylopoiei to session h PHP, ka8ws to kanei me ligo periergo tropo opws 8ymamai, pantws se JSP isxyei afto pou eipa parapanw. Antistoixei me polla dedomena tou xrhsth o server to sessionID, wste na yparxei asfaleia apo tetoies epi8eseis!

Δημοσ.
Lyman_Zerga

said:

Ma den 8a baleis to hash pali sthn login screen!!

Tha to xrhsimopoihseis stiw member pages.

 

Ποιός ο λόγος να συγκρίνεις το password σε κάθε "member page";

 

Εφόσον βρεις ότι το hash του password που δίνει ο χρήστης στη login form είναι ίδιο με το αποθηκευμένο κάνεις register ένα session. Μετά σε κάθε member page κοιτάς αν το session είναι registered απλώς, δεν ξαναακολουθείς τη διαδικασία της επιβεβαίωσης.

 

Βέβαια και να έκανες επιβεβαίωση σε κάθε σελίδα, αυτό που λες εσύ πάλι δε γίνεται.

Δημοσ.

Dionisos:

Ka8e kleidaria exei kai ton tropo parakampshs ths. To CSS einai mia me8odos poy doyleyei se sygkekrimena pragmata. Alles kleidaries, alla paspartoy.

 

Hik:

Oraia. Ayto rwthsa, pws kaneis to auth soy kai ekana mia ypo8esh. **

Sthn periptwsh soy, skepsoy to ekshs senario. O nomimos xrhsths kanei login stis 11. Thn idia ora, o attacker mpainei kai aytos sthn selida xrhsimopoiontas to SID. Ginetai dioti o legal xrhsths exei kanei register to session <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/smile.gif" alt="" />

Lysh? Elegxeis to ip. Parakamptetai? Isxyei to idio me thn apanthsh ston Dionisos.

 

** Ayto poy periegrapsa an kai hli8io xrhsimopoieitai se gnwsta programmata. P.x. etsi kanei ayth ena gnwsto open source webmail programma.

Δημοσ.

Προφανώς δεν υπάρχει, και δεν μπορεί να υπάρξει ποτέ, πλήρης ασφάλεια. Εσύ αυτό που υποτίθεται προσπαθείς να κάνεις είναι να δυσκολέψεις όσο μπορείς τη οποιαδήποτε παραβίαση.

 

Στη περίπτωση του SID, ναι είναι πολύ εύκολο να έχει πρόσβαση κάποιος που έχει το SID. Η χρησιμοποίηση cookies όπως ανέφερε o Dionysos και εσύ είναι ανασφαλής λόγω XSS κτλ. Η καλύτερη ίσως λύση είναι η δημιουργία ενός SID hash με συνδιασμό της ip του χρήστη αλλά και άλλων "προσωπικών στοιχείων" από τα http headers του χρήστη (user agent, accept, accept-enconding κτλ) το οποίο φυσικά θα αποθηκεύεται στο server. Aυτό λογικά θα δυσκολέψει ακόμα περισσότερο τον επίδοξο εισβολέα αφού εκτός από τη ip πρέπει να ξέρει και τα headers του θύματος. Και το ποιό σημαντικό είναι ότι πρέπει και να ξέρει ότι όλα αυτά χρησιμοποιούνται στο authentication και όχι μόνο π.χ. η ip.

 

Βέβαια το αν ένα επίπεδο ασφάλειας είναι κατάλληλο εξαρτάται πάντα και από το πόσο "κρίσιμα" δεδομένα θες να προστατέψεις. Πχ σε μια απλή προσωπική σελίδα δεν υπάρχει λόγος να εφαρμόσεις τίποτα από τα παραπάνω.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...