XSS μέθοδοι για να κάνετε bypass την ασφάλεια

xss auditors 768x403 1

Ξεκινώντας θα πω ότι η κάθε σελίδα διαφέρει από την άλλη… που σημαίνει ότι
μπορεί να μην δουλέψει κάτι από αυτά που θα γράψω εδώ… αλλά αυτό δεν σημαίνει ότι
δεν είναι ευάλωτη σε xss

Επιπλέον μπορεί να καταφέρεται να κάνετε xss σε firefox και να δοκιμάσετε την ίδια
τεχνική σε chrome χωρίς να δουλέψει… αυτό γίνετε γιατί έχουν και οι browsers κάποιες
άμυνες για το xss

Ας ξεκινήσουμε από τα βασικά…

1)
Συχνά κάποια σελίδα διαγράφει την λέξη <script> από τα πεδία που ελέγχει ο χρήστης…
δηλαδή αν δώσουμε <script>alert("xss")</script> το <script> θα διαγραφτεί…
Παρόλα αυτά μου έχει τύχει περίπτωση που περνάει αυτό: <sCriPt>
Πιθανότατα δεν έκανε όλα τα γράμματα μικρά πριν ελέγξει τα δεδομένα που εισάγομε στην σελίδα…
Επόμενος αν γράψουμε <scRIPt>alert("xss")</script> θα λειτουργήσει κανονικά!

2)
Ίδια με τα παραπάνω… μόνο που τώρα ελέγχει και τα κεφαλαία γράμματα
Επόμενος αν γράψουμε <script>alert("xss")</script> θα διαγραφτεί το <script>
και θα γράψει alert("xss")</script>
Αυτό μπορούμε να το εκμεταλλευτούμε… και να γράψουμε
<scr<script>ipt>alert("xss")</script>
Όταν ο browser διαγράψει το <script> θα ενωθούν τα <scr και ipt> φτιάχνοντας
το <script>. Με αυτόν τον τρόπο θα ήταν σαν να βάζαμε:
<script>alert("xss")</script>

3)null bite
<sc%00ript> το %00 είναι ένα null byte το όποιο μπορεί να περάσει μερικά filters
αλλά στην ουσία δεν γράφει τίποτα με αποτέλεσμα το <script> να γράφετε κανονικά στην σελίδα

Δείτε επίσης:   Αποκρυπτογραφηση hash με hashcat

4)Encryption:
Μπορείτε να κωδικοποιήσετε τα script σε διάφορες μορφές ώστε να παρακάμψετε πολλά filters
Για παράδειγμα μπορεί κάποια σελίδα να μην σας αφήνει να γράψετε το < και το > ή τα “
Μπορείτε να τα κωδικοποιήσετε σε διάφορες μορφές… για παράδειγμα url encoding
%3Cscript%3Ealert(%22xss%22)%3C%2Fscript%3E
το παραπάνω είναι το <script>alert("xss")</script> κωδικοποιημένο σε url…
τα < > κλπ αλλάξαν… Για παράδειγμα το < έγινε %3C
Πέρα από το url encoding μπορείτε να δοκιμάσετε και unicode encoding για παράδειγμα
%u003C το όποιο μπορεί να γραφτεί και με διάφορους τρόπους: %u03C %u0003C
Επιπλέον είναι και τα html chars που πρέπει να γνωρίζεται και το base64… Υπάρχουν
και άλλα όπως base16 αλλά τα παραπάνω είναι τα σημαντικότερα… χωρίς αυτό να σημαίνει ότι
δεν πρέπει να δείτε και τα υπόλοιπά… τρύπες ψάχνουμε… πρέπει να ξέρουμε τις λεπτομέρειες
για να τις βρούμε… Μπορείτε να κάνετε και διπλό url encoding

Δείτε επίσης:   Οδηγός Evil Twin για αρχάριους με το Airgeddon

5)

Υποθέτουμε ότι δεν μπορούμε να βάλουμε το <script> στον κώδικα της σελίδας με κανέναν από του
τρόπους που γνωρίζουμε… μπορούμε να κάνουμε κάτι άλλο…
<img src="invalidimg.img" onerror="alert('xss')" /> θα προσπαθήσει να βάλει μια
εικόνα στην σελίδα… δεν θα την βρει θα πάει στο onerror και θα εκτελέσει το scriptaki μας…

6)Bypassing ” filtering.

Αν έχετε όλα τα παραπάνω αλλά δεν μπορείτε να βάλετε ” τότε σας προτείνω να
χρησιμοποιήσετε την συνάρτηση String.fromCharCode
Για παράδειγμα: <script>alert(String.fromCharCode(65,66,67))</script>
Είναι σαν να γράψαμε: <script>alert("ABC")</script>

 

242546236 4526410447380695 8261268516492872656 n 1
Ο Αλέξανδρος είναι ο ιδρυτής του hacks.gr και η κινητήρια δύναμη πίσω από το όραμά μας. Με πολυετή εμπειρία στον κόσμο του hacking, έχει διαμορφώσει μια κοινότητα που είναι πηγή έμπνευσης και μάθησης για όλους. Με τον προσωπικό του χαρακτήρα και την τεχνογνωσία του, έχει δημιουργήσει έναν χώρο όπου οι λάτρεις του hacking μπορούν να συναντιούνται, να μοιράζονται γνώσεις και να εξελίσσονται.

Related Post

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Secured By miniOrange