Μετάβαση στο περιεχόμενο

Αναζήτηση στην κοινότητα

Εμφάνιση αποτελεσμάτων για τις ετικέτες 'prevent'.

  • Αναζήτηση με βάση τις ετικέτες

    Πληκτρολογήστε τις ετικέτες και χωρίστε τες με κόμμα.
  • Αναζήτηση με βάση τον συγγραφέα

Τύπος περιεχομένου


Ενότητες

  • GreekHacking
    • Κανόνες & Ανακοινώσεις
    • Καλωσόρισμα νέων μελών
    • Προτάσεις / Βελτιώσεις
    • Νέα σχετικά με το Hacking/Security
    • Ασφάλεια & Προστασία Δεδομένων
    • Εκτός Θέματος
  • Leaks
    • Hacking Tutorials
    • Anonymity & Privacy / Ανωνυμία και Προστασία Προσωπικών Δεδομένων
    • Προγράμματα για Hacking / Hacking Programs
    • Cracking Οδηγοί & Πληροφορίες
    • Βιβλία σχετικά με το Hacking
    • Προγράμματα - High Quality downloads
    • E-Books
    • XXX Movies

Categories

  • Ορολογίες
  • Hacking για αρχάριους
  • Hacking για προχωρημένους
  • Mobile Hacking
  • Cracking Tutorials
  • Hacking Computers
  • Hacking Tutorials στα Αγγλικά
  • Tutorials for hacks
  • Διάφοροι Οδηγοί
    • Οδηγοί σχετικά με τα Linux
    • Οδηγοί για υπολογιστές
    • Οδηγοί σχετικά με τα Mac
    • Οδηγοί για κινητά
  • Hacking Tutorials στα Αγγλικά Copy

Categories

  • Hacking
  • Ιστοσελίδες/Server
  • Hardware
  • Windows

Βρείτε αποτελέσματα...

Βρείτε αποτελέσματα που...


Ημερομηνία δημιουργίας

  • Start

    End


Τελευταία ενημέρωση

  • Start

    End


Φιλτράρισμα με βάση τον αριθμό των...

  1. Καλησπέρα. Ένα διαφορετικό θέμα για σήμερα με σχέση το Cyber Security και την ασφάλεια συστημάτων διότι είναι πολύ σημαντικό να γνωρίζουμε και την ασφάλεια, παρά να ξέρουμε μόνο να κάνουμε επιθέσεις. Σήμερα σε αυτόν τον οδηγό θα πούμε πως μπορούμε να προστατέψουμε την Βάση δεδομένων μας και τα απόρρητα αρχεία από κάποιον κακόβουλο χάκερ με επίθεση SQL INJECTION σε POST method. Όσοι θέλετε να μάθετε και πως γίνεται μία τέτοιου είδους επίθεση, υπάρχουν κάποιοι οδηγοί στο φόρουμ. Ας μπούμε όμως στο θέμα μας. Το παράδειγμα θα σας το δείξω σε μία δική μου manual ιστοσελίδα η οποία τρέχει local με την βοήθεια του xampp. Να πω λοιπόν πως άνοιξα έναν apache server και ένα phpmyadmin από πίσω για database. (db = egasiasxol, host = localhost, table = users, columns = username-password). Μπορείτε να δείτε τους κώδικες html και php παρακάτω. Τι έχουμε στον κώδικα; Στον κώδικα έχουμε απλά input στην html τα οποία είναι textboxes για τον χρήστη έτσι ώστε να εισχωρίσει το username και το password και άλλο ένα input το οποίο είναι type=submit δηλαδή button έτσι ώστε να γίνει η σύνδεση σε περίπτωση που είναι σωστά τα στοιχεία (Όλα αυτά βρίσκονται σε ένα form στο οποίο χρησιμοποιούμε method=post. Στον php κώδικα επιτρέπουμε στην βάση να επικοινωνήσει μαζί του. Τι σημαίνει αυτό; να διαβάζει μέσα από την βάση το username και το password έτσι ώστε ελέγξει αν είναι σωστά τα στοιχεία για να πάρει πρόσβαση ο χρήστης στο λεγόμενο Dashboard, ή να μην πάρει. $sql = "select * from users where username='$user' and password='$passwd'"; Πάμε λοιπόν να δούμε που είναι το λάθος σε αυτόν τον κώδικα. Η απάντηση είναι πως δεν υπάρχει κάποιο λάθος, απλώς δεν υπάρχουν φίλτρα και έτσι ο χάκερ μπορεί να πάρει πρόσβαση στο σύστημα επειδή ο κώδικας μας δεν έχει φιλτράρει τα Symbols τα οποία μπορεί να χρησιμοποιηθούν ( ' κ.τ.λ). Πάμε λοιπόν να δούμε Live την επίθεση αλλά και την ασφάλεια. Πρώτα θα ξεκινήσουμε από την επίθεση. Ανοίγουμε το Burpsuite στο Linux μας, ανοίγουμε και έναν browser στον οποίο έχουμε βάλει σωστά τα proxies για να επικοινωνούν με το burp. proxy -> intercept Να προσέξετε το intercept να είναι στο "ON". Βάζουμε λοιπόν κάποια τυχαία cedentials με ένα "αυτάκι" στο τέλος και στο username και στο password. (π.χ username' , password'). Αφού πατήσουμε το κουμπί σύνδεση το burpsuite θα μας εμφανίσει κάποια αποτελέσματα με POST method. Πατάμε δεξί κλικ στα αποτελέσματα και επιλέγουμε copy to file έτσι ώστε να τα αποθηκεύσουμε σε αρχείο. Αφού πατήσουμε ονομάσουμε το αρχείο (στην περίπτωσή μας grhacking) και πατήσουμε save έτσι ώστε να αποθηκεύσει το αρχείο στο path το οποίο έχουμε επιλέξει, ανοίγουμε το sqlmap το οποίο είναι ένα απίστευτο κατά την γνώμη μου tool το οποίο θα μας βοηθήσει να κάνουμε αυτοματοποιημένα την επίθεση sql injection. Ανοίγουμε sqlmap και γράφουμε "sqlmap -r (για το αρχείο) grhacking --dbs (για να βρει το database) sqlmap -r grhacking --dbs POST parameter 'username' might be injectable (Πιθανή Βάση mysql). Για όσους δεν καταλάβατε βρήκε ευάλωτη την βάση μας κάτι το οποίο είναι πάρα πολύ σημαντικό. Γιατί; πάμε να δούμε παρακάτω. Αφού λοιπόν γράψουμε κάποιες εντολές για να βρούμε τα κατάλληλα tables και columns έτσι ώστε να τα κάνει dump, βλέπουμε τα αποτελέσματα... Με τα οποία ο χάκερ θα χαρεί αλλά εμείς θα κλαίμε... διότι με αυτά τα στοιχεία παίρνει πρόσβαση στο dashboard. username: mata , password = greekhacking Πάμε λοιπόν να δούμε πως μπορούμε να προστατέψουμε τα προσωπικά μας δεδομένα από αυτήν την επίθεση. Ξαναπάμε στον κώδικα τον οποίο έδειξα σε προηγούμενο screenshot, και βάζουμε τα φίλτρα. Θα σας εξηγήσω αφού δείτε την εικόνα. Εκεί που έχω βάλει τα slashes είναι το λεγόμενο comment το οποίο ο κώδικας δεν το βλέπει. Οπότε το προσπερνάμε. Δημιουργούμε ένα νέο variable το οποίο είναι το $userprevent και μέσα σε αυτό βάζουμε το φίλτρο mysqli_real_escape_string. Στις παρενθέσεις είναι το connection που το έχω ορίσει ως $conn και το $usr το οποίο έχω ορίσει για το POST του username πιο πάνω "$usr = $_POST['username'];" Κάνουμε το ίδιο και για το password. Αφού λοιπόν γίνει αυτό, το αμέσως επόμενο βήμα είναι να εφαρμοστούν τα variables για να δουλέψουν τα φίλτρα για να προστατευτεί η βάση μας. τα εφαρμόζουμε πηγαίνοντας στο $sql variable που έχουμε ορίσει για την επικοινωνία των στοιχείων με το POST method στα textbox τα οποία θα πληρκτρολογήσει ο χρήστης. Σας το έχω δείξει και με βελάκια. (Μπορείτε να δείτε τις διαφορές στο πάνω σκριν που έδειξα με κώδικα και σε αυτό το σκριν). Πάμε λοιπόν να ξανακάνουμε επίθεση για να δούμε τι θα γίνει πάλι. Όπως βλέπουμε το sqlmap δεν μπορεί να ανταποκριθεί διότι έχουμε πλέον βάλει φίλτρα και μας πετάει POST parameter does not seem to be injectable. [WARNING]. Και εννοείτα παρακάτω μας πετάει CRITICAL error και μας απορρίπτει. Αυτός ήταν ο οδηγός για το πως μπορείτε να προστατευτείτε από μία επίθεση SQL INJECTION σε POST method. Κάποια στιγμή θα βγάλω και για το πως να προστατευτείτε από SQL INJECTION επίθεση σε GET method. Ευχαριστώ όσους διαβάσατε μέχρι το τέλος, ελπίζω να μάθατε κάτι από εμένα και ελπίζω να το έγραψα και να το έδειξα όσο πιο αναλυτικά μπορούσα. Καλό Hacking (ηθικό φυσικά). 🙂
  2. Επειδή ό,τι λέω το κάνω κάποια στιγμή, σας είχα πει όταν έκανα τον οδηγό για το POST METHOD ότι θα κάνω και οδηγό για το πως να προστατευτούμε από ένα SQL INJECTION attack σε GET METHOD. Τι εννοούμε GET? Εννοώ η πληροφορία που Παίρνω και όχι που δίνω στον Server όπως είναι το POST με login, register κ.τ.λ. Όπως έχουμε πει με τα google dorks inurl:.php?id=1 , που δίνουμε στην google να καταλάβει ότι θέλουμε να ψάξουμε στην αναζήτη ΜΟΝΟ ιστοσελίδες και σελίδες που έχουν ΜΟΝΟ παράμετρο ID στο URL τους... Ε αυτό θα κάνουμε σήμερα. Θα μάθουμε πως να μην τρώει MYSQL ERROR η σελίδα όταν βάζουμε το quote " ' " δίπλα από την παράμετρο. Π.Χ id=1' . Αφήνω λοιπόν την πολλή εξήγηση και πάμε να μπούμε στο ψητό. Εδώ του λέμε να πάρει το ID το οποίο το έχουμε ορίσει και user_id και μετά φτιάχνουμε ένα query με users όπου id=$user_id. Πρώτα απ' όλα βλέπουμε τον κώδικά μας. Έχουμε χτίσει ένα table γράφοντας κώδικα HTML ΜΕΣΑ ΣΤΗΝ PHP, και με τα $row που έχουμε ορίσει πιο πάνω από το foreach και $sql_run, του δείχνουμε να καταλάβει πως θέλουμε στα tables να εμφανίζετε ΚΑΘΕ χρήστης μέσα από την βάση. (θα δείτε παρακάτω σε screenshot). Ακριβώς από κάτω από αυτά τα $row, δίνουμε άλλο ένα row και το πιο σημαντικό γι αυτό το topic. Του λέμε όταν πατηθεί το «κουμπί» EDIT που θα υπάρχει στο table, να μας ανακατευθύνει ( href ) στην σελίδα edit.php (που έχουμε φτιάξει) αλλά όχι μόνο εκεί, αλλά και στην παράμετρο. Δηλαδή για παράδειγμα θέλουμε να κάνουμε edit τα στοιχεία του χρήστη MATA ο οποίος mata μέσα στην βάση σαν ID έχει τον αριθμό 64. Οπότε θα γράψεις στο url edit.php?id= (Και τον αριθμό του id του χρήστη μέσα στην βάση) $row['id']. Προφανώς το ID αν δεν ξέρετε πως το διαβάζει μέσα από την βάση, το διαβάζει διότι κάναμε πριν query "SELECT * FROM users". Δηλαδή; Επέλεξέ τα όλα (*) από το table users. Και αμέσως μετά τρέξαμε το $sql_run = mysqli_query($conn, $sql) (το sql ήταν το variable που είχαμε ορίσει για το query ( $sql = "SELECT * FROM users ). Εδώ έχουμε τα tables που είπα πρίν. Και με ID χρήστη τον αριθμό 64. (όσοι χρήστες υπάρχουν μέσα στην βάση τόσο θα αυξάνεται η λίστα). Πατάμε λοιπόν edit να δούμε τι γίνεται στο url. Όπως βλέπουμε, το URL δείχνει τον αριθμό 64 στην παράμετρο ID. Αυτό γίνεται επειδή πρίν στο href βάλαμε το $row['id'] όπως σας εξήγησα παραπάνω. Πάμε λοιπόν να βάλουμε ένα QUOTE στην παράμετρο να δούμε πως και ΓΙΑΤΙ αντιδράει η ιστοσελίδα με ERROR. Όσοι έχετε πάει να κάνετε SQL INJECTION επίθεση σίγουρα έχετε παρατηρίσει κάποιο τέτοιο error. To error αυτό ονομάζεται ERROR-BASED SQL INJECTION. Error based ονομάζεται όταν το quote (') «σπάει» το Syntax. Γι αυτό και γράφει "You have an error in your SQL Syntax". Πάμε να το εκμεταλλευτούμε αυτό; Θα είναι πανεύκολο γιατί ο απρόσεκτος Developer ξέχασε να βάλει τα φίλτρα στον κώδικά του οπότε εγώ σαν κακόβουλος θα μπορέσω να τον εκμεταλλευτώ... Πάμε και γράφουμε λοιπόν sqlmap -u "http://<target>.com/edit.php?id=1" --dbs Το --dbs είναι για να βρεί τις βάσεις δεδομένων. Μας πετάει cookies και πατάμε Y για να τα χρησιμοποιήσουμε. Πόσο ευχάριστο για εμάς ε; Εδώ μας λέει ΄΄οτι ΠΙΘΑΝΟΝ η παράμετρος ID να είναι ευπαθής και η ΠΙΘΑΝΗ Database είναι MySQL. Θέλουμε να κάνουμε skip τα άλλα payload tests για άλλες dbmses? Και πατάμε Yes. Διότι δεν χρειαζόμαστε κάτι άλλο. Τι είπαμε πριν; Error-based. Πάμε παρακάτω τα εξήγησα πρίν αυτά. Η παράμετρος ID είναι ευπαθής. Θές να τσεκάρεις κι άλλες παραμέτρους; (Δεν χρειάζεται οπότε NO) Τι κακό τον βρήκε....... Αν θυμάστε από τον προηγούμενο οδηγό η database λεγόταν ergasiasxol. Πάμε να μπούμε σε αυτήν γράφοντας sqlmap -u "http://<target>.com/edit.php?id=64" -D ergasiasxol --tables -D ergasiasxol για να μπούμε σε αυτήν την βάση, και το --tables για να μας εμφανίσει τα tables. Βλέπουμε πως υπάρχει το table users. Οπότε πάμε να μπούμε σε αυτό και να δούμε τα columns. sqlmap -u "http://<target>.com/edit.php?id=64" -D ergasiasxol -T users --columns Εδώ βλέπουμε τα columns. Εμείς χρειαζόμαστε μόνο το username και το password. Πάμε να τα κάνουμε DUMP για να τα δούμε. sqlmap -u "http://<target>.com/edit.php?id=64" -D ergasiasxol -T users -C username,password --dump Φτάσαμε στον στόχο μας. Βέβαια ο κωδικός είναι σε κρυπτογράφηση md5 έχω εξηγήσει εδώ πως το κάνουμε αυτό, οπότε απλά παίρνουμε το hash και το σπάμε (αν δεν υπάρχει σε online tool προτείνω crunch για να φτιάξετε λίστα). ############################################################ ΠΡΟΣΤΑΣΙΑ ########################################################### Πάμε λοιπόν τώρα να δούμε πως μπορούμε να προστατευτούμε από αυτήν την επίθεση. Πρέπει να πάμε ξανά στον κώδικά μας και να βρούμε που είναι το variable που έχουμε ορίσει για την $_GET['id']; . To user_id είναι το variable που έχουμε ορίσει για την GET. Το filtered_userid variable υπάρχει για να το προσθέσουμε μετά στο id=$filtered_userid στο query. Επίσης στο variable filtered_userid γράφουμε το εξής filter_var($user_id, FILTER_SANITIZE_NUMBER_INT); To filter_var είναι συνάρτηση της php η οποία χρησιμοποιείται για το φιλτράρισμα της μεταβλητής (variable). Στην περίπτωσή μας θέλουμε να φιλτράρουμε το variable $user_id που είναι της GET -> id=$row['id'] -> id=64 (στην προκειμένη περίπτωση). To FILTER_SANITIZE_NUMBER_INT αποτρέπει χαρακτήρες όπως το QUOTE. Πάμε λοιπόν τώρα να δούμε αν η σελίδα μας αντιδράει σε error. Απολύτως καμία αντίδραση. Πάμε να κάνουμε πάλι επίθεση λοιπόν CRITICAL. Δεν μας αφήνει να βρούμε βάση. Πάμε να δοκιμάσουμε και με risk και level και με v 6 Πάλι critical. Οπότε είμαστε καλυμμένοι. Θα βγάλω και οδηγό για το πως να προστατευτούμε από επίθεση XSS (CROSS SITE SCRIPTING) κάποια στιγμή. Be safe. 😀
  3. Foolish IT CryptoPrevent 8.3.0.1 Το Foolish CryptoPrevent είναι ένα ισχυρό anti-virus και anti-malware συμπλήρωμα λογισμικό, συμπληρώνοντας ένα τεράστιο κενό που υπάρχει με τις παραδοσιακές λύσεις ασφαλείας για την προστασία ενάντια σε ένα αυξανόμενο πλήθος των νέων και αναδυόμενων ransomware και άλλες κακόβουλες απειλές λογισμικού. Το Foolish CryptoPrevent είναι ένα μικρό βοηθητικό πρόγραμμα για να ασφαλίσετε οποιοδήποτε λειτουργικό σύστημα Windows για την πρόληψη της μόλυνσης με κακόβουλο λογισμικό Cryptolocker ή ransomware, η οποία κρυπτογραφεί τα προσωπικά αρχεία και στη συνέχεια να προσφέρει αποκρυπτογραφημένα για λύτρα. Το foolish CryptoPrevent εμφυτεύει τεχνητά αντικείμενα πολιτικής ομάδας στο μητρώο, ώστε να μπλοκάρει ορισμένα εκτελέσιμα σε ορισμένες περιοχές από το τρέξιμο. Σημειώστε ότι, επειδή τα αντικείμενα της ομάδας έχουν δημιουργηθεί τεχνητά, δεν θα εμφανιστούν στο πρόγραμμα επεξεργασίας της ομάδας σε επαγγελματική έκδοση των Windows - αλλά να είστε σίγουροι ότι είναι ακόμα εκεί. [hide] http://coolbytez.com/i8jcwitkr46q [/hide]

ChatBox

ChatBox

Chatroom Rules

  • Το GreekHacking.Gr είναι ένα ελληνικό forum και επιτρέπεται μόνο η χρήση της Ελληνική Γλώσσας (ούτε greeklish).
  • Δεν επιτρέπονται οι βρισιές και γενικά η χρήση χυδαίας γλώσσας.
  • Απαγορεύεται αυστηρά το πορνογραφικό, προσβλητικό και βίαιο περιεχόμενο.
  • Μην χρησιμοποιείτε κεφαλαία γράμματα η σύμβολα.
×
×
  • Create New...