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

connect to DB - php


panosu1

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

Η πιο απλη λύση που είναι αρκετα ασφαλής για μένα είνα να θέσεις τα κρίσιμα connection details ως web server vars με SetEnv π.χ στον apache. Μετα τα καλέις με $_SERVER['username_var_you_want'] απο την (hackers playground) php.

Ο apache (σε linux περιβάλλον πάντα μιας και κατα ένα συντριπτικό ποσοστό σε servers αυτο τρέχει) ξεκινάει να διαβάζει το configuration του σα root και κατόπιν ρίχνει τα privileges του σε ένα απλό χρήστη. Συνηθέστερα αυτός είναι ο apache σε redhat ή ο www-data σε debian based. Άρα για να σου κλεψουν τα στοιχεία σύνδεσης στη βάση πρέπει να γίνει privilege escalation σε root. Αλλα άμα έχουν root αυτο είναι το λιγότερο που σε ενδιαφέρει...

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 69
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Σαφώς και γίνεται και για ένα ακόμη έξτρα λιθαράκι ασφάλειας:

1. Τα credentials δεν είναι προσβάσιμα άμεσα, με γυμνό μάτι. Αυτός είναι θα λέγαμε ο πιο χαζός λόγος (για αυτό θα μπορούσες που λέει ο λόγος κι ενα base64 encoding να χρησιμοποιήσεις).

2. Βάζεις το αρχείο σου έξω από το document root του vhost του apache/nginx που έχεις στησει, αλλά εντός του open_basedir. Αυτό γίνεται χωρίς να χρειάζεται να κάνεις τίποτα αν πχ. έχεις το /var/www/example.com/public ως document root, βάζεις το αρχείο σου κάτω από το /var/www/example.com/ και το κάνεις include στο public accessible αρχείο σου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σαφώς και γίνεται και για ένα ακόμη έξτρα λιθαράκι ασφάλειας:

1. Τα credentials δεν είναι προσβάσιμα άμεσα, με γυμνό μάτι. Αυτός είναι θα λέγαμε ο πιο χαζός λόγος (για αυτό θα μπορούσες που λέει ο λόγος κι ενα base64 encoding να χρησιμοποιήσεις).

Ο μόνος attacker που θα τον εμπόδιζε αυτό είναι ο μικρός αδερφός που του δείχνεις τα περιεχόμενα του αρχείου και τον προκαλείς να σε χακέψει.

 

2. Βάζεις το αρχείο σου έξω από το document root του vhost του apache/nginx που έχεις στησει, αλλά εντός του open_basedir. Αυτό γίνεται χωρίς να χρειάζεται να κάνεις τίποτα αν πχ. έχεις το /var/www/example.com/public ως document root, βάζεις το αρχείο σου κάτω από το /var/www/example.com/ και το κάνεις include στο public accessible αρχείο σου.

Ενώ αν το έχεις μέσα στο document root είναι λιγότερο ασφαλές επειδή...?

 

Spoiler: δεν είναι.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ο μόνος attacker που θα τον εμπόδιζε αυτό είναι ο μικρός αδερφός που του δείχνεις τα περιεχόμενα του αρχείου και τον προκαλείς να σε χακέψει.

 

 

Ενώ αν το έχεις μέσα στο document root είναι λιγότερο ασφαλές επειδή...?

 

Spoiler: δεν είναι.

Μπορείς να φανταστείς παραδείγματα ή μπορω να αναφέρω μερικά, αλλά λέω να το πάμε έτσι:

Spoiler: είναι.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βασικά λέω να μην το πάμε έτσι γιατί δε μου αρέσουν τα παιδιαρίσματα.

 

Επειδή ως γνωστόν δε γίνεται να αποδείξω εγώ μια αρνητική πρόταση (ο Μήτσος δεν είναι κλέφτης) θα πρέπει να αποδείξεις εσύ μια θετική (είναι). Αφού έχεις παραδείγματα να αναφέρεις δε θα είναι δύσκολο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

θα ήθελα λοιπόν την πολύτιμη βοήθεια σας ξανά. 

 

Ας κάνω όμως μια μικρή προεπισκόπηση, των εργασιών που έχω κάνει.

Έχω στήσει postgres - pgadmin3, τον geoserver στον tomcat appache, και το wamp για να hostάρω άλλα πράγματα. 

έκανα λοιπόν ένα registration/login form όπου μου λειτουργεί άψογα και μετά από αυτόν ο χρήστης θα έχει την δυνατότητα να δει χάρτες που θα τραβάω από τον geoserver (αυτό δεν το έχω κάνει ακόμα). Θέλω όμως να αποτρέψω τους χρήστες που δεν είναι login/resister να έχουν πρόσβαση στις σελίδες μου. 

 

Διαβάζοντας στο νετ είδα για cookies για session start, για session start με timeout κτλπ. Τι έχετε να προτείνετε πάνω σε αυτό? 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για ασφάλεια που λέτε, το πιο απλό που μπορείτε να κάνετε, είναι σωστό administration στη βάση. Accounts με συγκεκριμένα δικαιώματα. Δεν γίνεται να βάζεις root account στο κώδικα, εκτός και αν φτιαχνεις administration tool.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

προσωπικα δεν χρησιμοποιω καθόλου βασεις και οι webserver μου ειναι custom made για να εχω απολυτη ταχυτητα ( αφου ολα τα files ειναι στην μνημη δεν διαβαζει καν απο τον σκληρο ) 

και δεν εχω τετια προβληματα.

 

+ οτι εχω το απολυτο seo αφου μπορω και εχω url του στυλ  http_//mydomain.com/otitheloedo/otitheloedo/otitheloedo.kati

 

το μοναδικο μειονεκτημα ειναι οτι για καθε domain εχω και ενα Service τον webserver μου . 
δεν με νιαζουν τα updates ποτε αφου ολες οι πορτες ειναι κλειστες .
εχω ddos Protection in Build αφου με το που δω πολλα requests απο καποιο ip αυτοματα τον Blockaro.
και πολλα πολλα αλλα.

 

Αν ξερεις μια γλώσσα C++,Delphi,VB  τοτε δεν εχει κανενα λογο υπαρξης το php or το .asp or .net  αφου κανεις οτι θέλεις με δικα σου αρχεια.( αν βεβαιως δεν σε ενδιαφερει να δουλεβεις σε ομαδες και να εχουν και αλλη προσβαση στον κωδικα σου) .

οποιος εχει αντιρηση πανω σε αυτο το συζηταμε.



 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

προσωπικα δεν χρησιμοποιω καθόλου βασεις και οι webserver μου ειναι custom made για να εχω απολυτη ταχυτητα ( αφου ολα τα files ειναι στην μνημη δεν διαβαζει καν απο τον σκληρο ) 

και δεν εχω τετια προβληματα.

Βασικά έχεις το πρόβλημα ότι δεν έχεις βάση.

 

+ οτι εχω το απολυτο seo αφου μπορω και εχω url του στυλ  http_//mydomain.com/otitheloedo/otitheloedo/otitheloedo.kati

Δεν κατάλαβα. Σε τι σε εμποδίζει μια DB να έχεις τέτοιο url? Ή τι σε εμποδίζει γενικότερα να έχεις τέτοιο url?

 

Αν ξερεις μια γλώσσα C++,Delphi,VB  τοτε δεν εχει κανενα λογο υπαρξης το php or το .asp or .net  αφου κανεις οτι θέλεις με δικα σου αρχεια.

Σωστά, κι άμα ξέρεις php δεν έχει κανένα λόγο ύπαρξης το C++, αφού κάνεις ότι θέλεις με τα αρχεία του γείτονα.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

προσωπικα δεν χρησιμοποιω καθόλου βασεις και οι webserver μου ειναι custom made για να εχω απολυτη ταχυτητα ( αφου ολα τα files ειναι στην μνημη δεν διαβαζει καν απο τον σκληρο ) 

και δεν εχω τετια προβληματα.

 

+ οτι εχω το απολυτο seo αφου μπορω και εχω url του στυλ  http_//mydomain.com/otitheloedo/otitheloedo/otitheloedo.kati

 

το μοναδικο μειονεκτημα ειναι οτι για καθε domain εχω και ενα Service τον webserver μου . 

δεν με νιαζουν τα updates ποτε αφου ολες οι πορτες ειναι κλειστες .

εχω ddos Protection in Build αφου με το που δω πολλα requests απο καποιο ip αυτοματα τον Blockaro.

και πολλα πολλα αλλα.

 

Αν ξερεις μια γλώσσα C++,Delphi,VB  τοτε δεν εχει κανενα λογο υπαρξης το php or το .asp or .net  αφου κανεις οτι θέλεις με δικα σου αρχεια.( αν βεβαιως δεν σε ενδιαφερει να δουλεβεις σε ομαδες και να εχουν και αλλη προσβαση στον κωδικα σου) .

 

οποιος εχει αντιρηση πανω σε αυτο το συζηταμε.

 

Δεν έχω διάθεση να συζητήσω τις αντιρρήσεις μου (αν και αυτά του Ηλία από πάνω είναι καλή αρχή), αλλά έχω ένα πράγμα να σου πω: δίνεις την εντύπωση ότι ξέρεις αρκετά για να είσαι επικίνδυνος. Αν κάναμε interview και άκουγα αυτά τα πράγματα από τον υποψήφιο και γω δεν ξέρω τι παπάδες θα έπρεπε να κάνει στη συνέχεια για να μην απορριφθεί συνοπτικά.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πρώτον
Βασικα στα παπαρια μου αν εχεις η δεν εχεις διαθεση δεν σου ζητησε κανεις να συζητησεις μαζι μου μονος σου πεταχτηκες σαν την που..τσα ισως γιατι σου φανηκαν αυτα που εγραψα τρελλα.

 

Δευτερον.
Στην θεση που κατεχω παιρνω Interviews δεν δινω.

Τριτον.
Αν θες να μαθεις ποσο επικινδυνος ειμαι δεν εχεις παρα να μου δώσεις ενα Url απο εναν Server σου η ενα IP απο καποιο μηχανημα σου και θα διαπιστωσεις αν ειμαι η δεν ειμαι και αν κατεχω η δεν κατεχω.

Απο οτι ομως εχω καταλαβει δεν θα μου δώσεις επειδη εισαι πολυ κοτα για να το κανεις.
Απο την αλλη θα χαρω να σου αποδειξω τα λεγομενα μου.

τεταρτον

Μια φιλικη συμβουλη.Οταν ασχολησε με πραγματα που ασχολειτε το 99% των ανταγωνιστων σου μια ζωη στην πεινα θα εισαι.

Αυτα περιμενω ενα IP σου βαλε ενα αρχειο μεσα με την λεξη hestia και ετσι θα ξερω οτι ειναι δικος σου ο Server.
και αν εχεις αντερακια γραψε μου εδω οτι δινεις την συγκαταθεση σου να σου τεσταρει την ασφαλεια σου ο hestia.












 


Βασικά έχεις το πρόβλημα ότι δεν έχεις βάση.
 

Δεν κατάλαβα. Σε τι σε εμποδίζει μια DB να έχεις τέτοιο url? Ή τι σε εμποδίζει γενικότερα να έχεις τέτοιο url?
 

Σωστά, κι άμα ξέρεις php δεν έχει κανένα λόγο ύπαρξης το C++, αφού κάνεις ότι θέλεις με τα αρχεία του γείτονα.

 

1) ποιος σου ειπαι οτι δεν εχω βαση?? και βεβαια εχω βαση αλλα δικη μου βαση

2) δηλαδη  μπορεις να φτιαξεις rewrite rules σε στυλε http;mydomain.com/......:........     ????

εννοω αν δεν τοκαταλαβες να εχω ενα url με 3-4 τελειες μετα το domain και ενα :

 

3) ναι μπροεις να κανεις οτι θες με τα αρχεια του γειτονα .Απαραιτητη προυποθεση ομως ειναι να Υπαρχει Γειτονας και πιος ειναι ο γειτονας σου. γιατι αν ο γειτονας ειμαι εγω τοτε αντιστρεφονται οι ρολοι.

 

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1) Εσύ. Ξαναδιάβασε τι έγραψες πάνω. Όπως και πάλι εσύ ζήτησες όποιος έχει αντιρρήσεις να τις συζητήσετε. :) Τι είναι η δική σου βάση;

2) Όσο απίστευτο κι αν σου φαίνεται, ναι. Μπορείς να εξηγήσεις το σκεπτικό σου; Για πιο λόγο δεν θα μπορούσα να το κάνω και κάτω από ποιες συνθήκες;

3) lol

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

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