Τετάρτη 16 Ιουλίου 2014

Παρακάμπτοντας τα φίλτρα XSS: Σύνθετη XSS Σεμινάρια για την εφαρμογή Web Pen Testing

  



Γεια σας φίλοι, τελευταία φορά, εξήγησα τι είναι XSS και πώς ένας εισβολέας μπορεί να εισφέρει κακόβουλο script στην ιστοσελίδα σας. Όπως έχω υποσχεθεί νωρίτερα, εγώ γράφω αυτό το προηγμένο σεμινάριο XSS για σας (ακόμα περισσότερα άρθρα θα έρθουν).   Μερικές φορές, ιδιοκτήτη της ιστοσελίδας χρησιμοποιήστε τα φίλτρα XSS (WAF) για την προστασία από το XSS ευπάθεια.  Για παράδειγμα: αν βάλετε την ειδοποίηση <scirpt> ("γεια") </ script>, το φίλτρο θα ξεφύγει από το χαρακτήρα "(απόσπασμα), οπότε το σενάριο θα γίνει   
<script> alert (> xss ανιχνεύεται <) </ script>  
Τώρα αυτό το σενάριο δεν θα λειτουργήσει. Ομοίως Φίλτρα χρησιμοποιούν διαφορετικό τύπο της μεθόδου φιλτραρίσματος για να παρέχουν προστασία κατά της XSS. Σε αυτή την περίπτωση, μπορούμε να χρησιμοποιήσουμε μερικά κόλπα για να παρακάμψει το φίλτρο. Εδώ εγώ είμαι πρόκειται να καλύψει και αυτό μόνο.    
1.Bypassing magic_quotes_gpc  
Η magic_quotes_gpc = ON είναι μια ρύθμιση της PHP (που έχουν διαμορφωθεί στο αρχείο php.ini), που ξεφεύγει από το κάθε «(single-quote)," (διπλά εισαγωγικά) και \ με μια ανάστροφη κάθετο αυτόματα.  Για παράδειγμα:  <scirpt> alert ("γεια")? </ script> θα φιλτράρονται ως <SCRIPT> alert (\ hi \) </ script> έτσι το σενάριο δεν θα λειτουργούν πλέον..   Αυτό είναι επίσης γνωστή μέθοδος φιλτραρίσματος, αλλά μπορούμε εύκολα να παρακάμψει αυτό το φίλτρο με τη χρήση χαρακτήρων ASCII και όχι.  Για παράδειγμα: alert ("γεια")? μπορούν να μετατραπούν σε   
String.fromCharCode (97, 108, 101, 114, 116, 40, 34, 104, 105, 34, 41, 59)  
έτσι ώστε το script θα γίνει <script> String.fromCharCode (97, 108, 101, 114, 116, 40, 34, 104, 105, 34, 41, 59) </ script>. Σε αυτή την περίπτωση δεν υπάρχει "(εισαγωγικά) ή« (μονά εισαγωγικά) και / ή έτσι ώστε το φίλτρο δεν μπορεί να φιλτράρει αυτό το πράγμα. Ναι, θα τρέξει με επιτυχία το σενάριο.   
String.fromCharCode () είναι ένα javascript συνάρτηση που μετατρέπει την αξία ASCII σε χαρακτήρες.  
 Πώς να μετατρέψετε σε τιμές ASCII;   Υπάρχουν μερικές σε απευθείας σύνδεση περιοχές που μετατρέπει τον χαρακτήρα ASCII. Αλλά εγώ σας προτείνω να χρησιμοποιήσετε HackBar Mozilla addon .   Μετά την εγκατάσταση HackBar προσθέσετε, πατήστε το πλήκτρο F9. Θα ανοίξει το μικρό κουτί πάνω από τη γραμμή url. κάντε κλικ στο XSS-> String.fromCharCode ()   
Εικόνα 
  
Εικόνα 
Τώρα θα εμφανιστεί ένα μικρό παράθυρο. πληκτρολογήστε τον κωδικό, για παράδειγμα alert ("Hi"). κάντε κλικ στο κουμπί ok. Τώρα έχουμε την έξοδο.   
Εικόνα 
 αντιγράψετε τον κώδικα στην <script> </ script> μέσα και τοποθετήστε σε ευπαθείς τόπους   Για παράδειγμα:   
hxxp :/ / vulnerable-site/search; q = <script> String.fromCharCode (97, 108, 101, 114, 116, 40, 34, 104, 105, 34, 41, 59) </ script>  
  
2.HEX Κωδικοποίηση  
μπορούμε να κωδικοποιούν ολόκληρο σενάριο μας σε κώδικα ΗΕΧ, έτσι ώστε να μην μπορεί να διηθηθεί.  Για παράδειγμα: <script> alert ("Hi")? </ Script> μπορεί να μετατρέψει σε HEX ως εξής:   
% 3c% 73% 63% 72% 69% 70% 74% 3e% 61% 6c% 65% 72% 74% 28% 22% 48% 69% 22% 29% 3b% 3c% 2f% 73% 63% 72 % 69% 70% 74% 3e  
Τώρα βάλτε τον κωδικό στο ευάλωτες site αίτημα.  Για παράδειγμα:   
hxxp://vulnerable-site/search?q=%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%48%69%22%29%3b%3c%2f%73%63%72%69%70%74%3e  
Μετατρέποντας σε HEX:  Αυτή η περιοχή θα μετατραπεί σε δεκαεξαδικό κωδικό: http://centricle.com/tools/ascii-hex/    
3.Bypassing χρήση Συσκότιση  
Μερικοί ιστοσελίδα διαχειριστή θέσει το σενάριο, σε εγρήγορση σε περιορισμένο κατάλογο λέξεων. έτσι ώστε κάθε φορά που εισάγετε αυτό λέξεις-κλειδιά, το φίλτρο θα το αφαιρέσει και θα δώσει λάθος μήνυμα, όπως "δεν επιτρέπεται να αναζητήσετε αυτό". Αυτό μπορεί να παρακαμφθεί με την αλλαγή της υπόθεσης των λέξεων-κλειδιών (δηλαδή Συσκότιση).  Για παράδειγμα:   
<SCRIPT> Alert ("γεια")? </ Script>  
 Αυτή η τεχνική παράκαμψης σπάνια έργα αλλά δίνοντας δίκη αξίζει.    
4. Tag Κλεισίματος  
Ενίοτε βάζοντας "> στην αρχή του κώδικα θα λειτουργήσει.    
"> <script> Alert (" Hi ")? </ Script>  
 Αυτό θα τελειώσει την προηγούμενη άνοιξε ετικέτα και να ανοίξει tag script μας.  Παράδειγμα:   
? hxxp :/ / vulnerable-site/search q = "> <script> alert (" Hi ")? </ script>  
  
Συμπέρασμα:  
Από το παραπάνω άρθρο, είναι σαφές ότι XSS φίλτρων από μόνη της δεν πρόκειται να προστατεύσει ένα site από τις επιθέσεις XSS. Αν θέλετε πραγματικά να κάνετε το site σας πιο ασφαλή, τότε ρωτήστε PenTesters να ελέγξετε την αίτησή σας ή να δοκιμάσετε τον εαυτό σας.   Επίσης, υπάρχουν πολλές διαφορετικές τεχνική παράκαμψης φίλτρου, εγώ απλώς καλύπτονται μερικές χρήσιμες τεχνικές για εσάς.  

0 σχόλια:

Δημοσίευση σχολίου