Aug 01 2011

VIDEO: Οδηγός SQL Injection

Οι επιθέσεις SQL injection είναι από τις πιο κοινές στον τομέα της ασφάλειας, και ενώ το πρόβλημα έχει αναλυθεί εδώ και χρόνια, δεν φαίνεται να εφαρμόζονται σωστές λύσεις, καθώς και κώδικας που επιτρέπει την εκτέλεση τέτοιων επιθέσεων γράφεται ακόμα, αλλά και οι εταιρίες παίρνουν ηλίθιες αποφάσεις όπως την αποθήκευση των κωδικών πρόσβασης των χρηστών τους σε plaintext.

Παρεπιπτόντως λόγω των δύο παραπάνω λόγων, πραγματοποιήθηκαν και οι επιθέσεις στην Sony πριν κάποιον καιρό, με τους χάκερς να κλέβουν πάνω από ένα εκατομμύριο λογαριασμούς χρηστών! Οι οποίοι λογαριασμοί (όνομα χρήστη, κωδικός, email, κλπ) κυκλοφόρησαν στο internet, με αποτέλεσμα βανδαλισμούς σε πολλά άλλα sites για τα οποία χρησιμοποιούνταν τα ίδια στοιχεία πρόσβασης (να και ένας ακόμα λόγος να μην χρησιμοποιούμε παντού τον ίδιο κωδικό).

Το παρακάτω βίντεο και εξήγηση είναι από την Acunetix. Σε αυτό το άρθρο περιγράφεται η SQL Injection και στο βίντεο γίνεται επίδειξη της επίθεσης χρησιμοποιώντας το εργαλείο της ίδιας της εταιρείας φυσικά.

Βέβαια, έχουν κάνει και λάθος στη λύση του προβλήματος, καθώς αυτή θα αποτρέψει μεν το SQL injection αλλά θα δημιουργήσει πρόβλημα στο site. To $_GET είναι πάντα string ενώ το is_int() τσεκάρει για ακέραιο αριθμό. Άρα to is_int(“1″) θα επιστρέφει πάντα false. Το σωστό λοιπόν δεν είναι is_int() αλλά is_numeric().

ΥΓ. Καλό μήνα! icon smile VIDEO: Οδηγός SQL Injection

Jul 23 2011

Φιλοξενία έργων λογισμικού και διαχείριση πηγαίου κώδικα

Τις προάλλες έψαχνα κάποια πλατφόρμα της προκοπής για να ανεβάσω ένα project με δυνατότητες version control και τα σχετικά. Αφού έψαξα όλες τις λύσεις κατέληξα στο github με εκπαιδευτικό λογαριασμό.

Παρόλα αυτά, καταγράφω τις εναλλακτικές λύσεις και το σύστημα που χρησιμοποιούν για μελλοντική χρήση. Κάποια από τα παρακάτω παρουσιάζουν εξαιρετικό ενδιαφέρον. Ένα σημείο προσοχής είναι αν επιτρέπουν private repos (και πόσα) δωρεάν ή μη.

1) GitHub: Git is an extremely fast, efficient, distributed version control system ideal for the collaborative development of software. Free public repositories, collaborator management, issue tracking, wikis, downloads, code review, graphs and much more… (φυσικά, Git)

2) SourceForge: SourceForge is dedicated to making open source projects successful. We thrive on community collaboration to help us create the leading resource for open source software development and distribution. With the tools we provide, 2.7 million developers create powerful software in over 260,000 projects. Our popular directory connects more than 46 million consumers with these open source projects and serves more than 2,000,000 downloads a day. SourceForge is where open source happens. (SVN, Git, και Mercurial)

3) Codaset: Codaset is a project management system for open source and private software projects, built around the Git source control system. It is designed to be useful, social, and to take the best of what is good about other services, and place that goodness into one nice, neat package. (Git)

4) Google Code: Project Hosting on Google Code provides a free collaborative development environment for open source projects. Each project comes with its own member controls, Subversion/Mercurial/Git repository, issue tracker, wiki pages, and downloads section. Our project hosting service is simple, fast, reliable, and scalable, so that you can focus on your own open source development. (SVN, Git και Mercurial)

5) Launchpad: Launchpad is a unique collaboration and hosting platform for software projects. It brings communities together — regardless of their choice of tools — by making it easy to share code, bug reports, translations and ideas across projects. (Bazaar)

6) Bitbucket: Bitbucket is a free code hosting site for the popular Mercurial distributed version control system (DVCS) with over 163,000 users. Why DVCS? It enables more powerful collaboration with your team. Commit locally (whether on-line and off), branch and merge with ease, and monitor the activity in your source tree. (Mercurial)

Αν γνωρίζετε κάτι καλό πέρα από τα παραπάνω, αφήστε ένα σχόλιο για να μπει στη λίστα icon smile Φιλοξενία έργων λογισμικού και διαχείριση πηγαίου κώδικα

Jul 23 2011

Script αναβάθμισης του BackTrack 5

Τις τελευταίες μέρες δοκίμασα τις λύσεις διαφόρων security enthusiasts οι οποίοι έγραψαν κάποια scripts για να αναβαθμίσουν το BackTrack και τα εργαλεία του στις τελευταίες εκδόσεις. Από ότι φαίνεται κάποια πραγματάκια έμειναν απ’ έξω οπότε καλώς ή κακώς υπάρχει η ανάγκη για τέτοιες custom λύσεις.

Στην αρχή κάθησα και έγραψα το δικό μου script αλλά στην πορεία ανακάλυψα δύο άλλα πολύ καλύτερα, συγκεκριμένα το [>] Update Script for Backtrack 5 από τον sickness, γραμμένο σε C, το οποίο έφτασε πλέον στην έκδοση 0.8, και δεύτερον το bt5-fixit.sh από τον Phillips321 ο οποίος παλαιότερα είχε χτίσει μια δική του security distro, το GnackTrack, την οποία και στάματησε με την κυκλοφορία του BackTrack 5. Τότε ήταν που έγραψε και το παραπάνω script το οποίο είναι γραμμένο σε shell.

Η επιλογή μου τελικώς ήταν το δεύτερο για λόγους πρακτικούς και για το γεγονός ότι περιέχει περισσότερες αλλαγές και αναβαθμίσεις εργαλείων. Έστειλα και τις προτάσεις μου μαζί με απλό κώδικα στον Phillips321 ο οποίος τις έκανε δεκτές και ενσωματώθηκαν στην έκδοση 1.4.

Στην ουσία το script αυτό είναι το πρώτο πράγμα που πρέπει να τρέξει κάποιος σε μια φρέσκια εγκατάσταση του BackTrack 5. Μένουν κάποια άλλα ζητήματα να λυθούν, και μπορεί να εξελιχθεί σε ένα πολύ χρήσιμο προγραμματάκι. Για να το κατεβάσετε:

svn checkout http://bt5-fixit.googlecode.com/svn/trunk/ bt5-fixit

PS. το έξτρα αρχείο bt5-nmap είναι ένα script του Phillips321 για την ευκολότερη χρήση του δημοφιλούς εργαλείου Nmap.

Jul 22 2011

Ασφάλεια κωδικών πρόσβασης

Η Gibson Research Corporation (που είχε βγάλει παλιά το γνωστό πρόγραμμα “Shoot the Messenger” για την αφαίρεση του Windows Messenger) έχει γράψει ένα ενδιαφέρον άρθρο σχετικά με την ασφάλεια των κωδικών εξετάζοντας το μέγεθος τους. Καταλήγει πως όσο μεγαλύτερο το μέγεθος των κωδικών τόσο δυσκολότερο το σπάσιμο τους. Αυτό συμβαίνει γιατί σε μια επίθεση ωμής βίας (brute force) όπου δοκιμάζονται όλοι οι δυνατοί συνδυασμοί, αυτό που παίζει ρόλο είναι ποιό είναι τελικά το πλήθος αυτών των συνδυασμών που θα πρέπει να δοκιμάσουμε.

Ας δώσω ένα παράδειγμα: ας υποθέσουμε πως μπορώ να διαλέξω ένα κωδικό χρησιμοποιώντας μόνο αριθμούς. Για κάθε ψηφίο του κωδικού μου δηλαδή έχω 10 δυνατές επιλογές (1 ως 9 και το 0). Οι διαφορετικοί συνδυασμοί κωδικών υπολογίζονται πολλαπλασιάζοντας μεταξύ τους το πλήθος των δυνατών επιλογών κάθε ψηφίου, για όσα ψηφία έχουμε. Αν διάλεξα τον κωδικό “54366″ για παράδειγμα τότε στην ουσία ένας επίδοξος cracker θα έπρεπε να δοκιμάσει 10x10x10x10x10 = 10^5 = 10.000 διαφορετικούς κωδικούς μέχρι να τον βρει. Αν σε αυτόν τον κωδικό έβαζα μόλις ένα ψηφίο ακόμα και από μέγεθος 5 τον πήγαινα 6, έστω “543669″, τότε ο επίδοξος cracker θα έπρεπε να δοκιμάσει 100.000 συνδυασμούς! Καταλαβαίνουμε δηλαδή πως όντως το μέγεθος των κωδικών μετράει και μάλιστα πολύ.

ΑΛΛΑ ΠΡΟΣΟΧΗ, το παραπάνω έχει να κάνει με τα brute-force attacks όπου χρησιμοποιούμε κάποιο πρόγραμμα που δοκιμάζει με τη σειρά όλους αυτούς τους δυνατούς συνδυασμούς. Υπάρχουν και οι επιθέσεις λεξικού (dictionary attacks) όπου δοκιμάζουμε μήπως ο κωδικός ανήκει σε μια υπάρχουσα λίστα κωδικών (wordlist) από την οποία αντλούμε στοιχεία. Για παράδειγμα θα μπορούσα να φτιάξω μια λίστα με τους 500 χειρότερους κωδικούς και να δοκιμάσω μήπως κάποιος από αυτούς είναι αυτός που ψάχνω. Η αναζήτηση 500 μόνο συνδυασμών σε σχέση με τους 100.000 παραπάνω είναι σταγόνα στον ωκεανό. Σε αυτή την περίπτωση δεν μετράει τόσο το μέγεθος όσο το πόσο “καλός” είναι ο κωδικός. Έτσι ένας κωδικός με 4 ψηφία όπως ο “y#8Z” είναι πολύ καλύτερος από τον κωδικό “baseball” των 8 ψηφίων.

Σύμφωνα με τις προτάσεις της NASA, τρία είναι τα στοιχεία ενός καλού κωδικού:

α) πρέπει να αποτελούνται από τουλάχιστον 8 ψηφία
β) πρέπει να περιλαμβάνουν ένα μείγμα διαφόρων τύπων χαρακτήρων, όπως κεφαλαία και μικρά γράμματα, αριθμούς και ειδικά σύμβολα (όπως τα %^&$#^:)
γ) δεν πρέπει να είναι κάποιο όνομα, κάποια φράση ή κάποια λέξη ενός λεξικού και δεν πρέπει να περιλαμβάνει μέρος του ονόματος σας ή του email σας

Page 28 of 28« First...1020...2425262728

Powered by WordPress and the Graphene Theme.