diff --git a/hacktricks-preprocessor.py b/hacktricks-preprocessor.py index af5949449..5d070c39f 100644 --- a/hacktricks-preprocessor.py +++ b/hacktricks-preprocessor.py @@ -78,6 +78,9 @@ def ref(matchobj): sys.exit(1) + if href.endswith("/README.md"): + href = href.replace("/README.md", "/index.html") + template = f"""{title}""" # translate_table = str.maketrans({"\"":"\\\"","\n":"\\n"}) diff --git a/src/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md b/src/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md index e0fef4638..43e62bbab 100644 --- a/src/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md +++ b/src/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md @@ -9,7 +9,7 @@ - [**Sourcebot**](https://www.sourcebot.dev/): Εργαλείο αναζήτησης κώδικα ανοιχτού κώδικα. Ευρετηρίαση και αναζήτηση σε χιλιάδες από τα αποθετήριά σας μέσω μιας σύγχρονης διαδικτυακής διεπαφής. - [**SourceGraph**](https://sourcegraph.com/search): Αναζητήστε σε εκατομμύρια αποθετήρια. Υπάρχει μια δωρεάν έκδοση και μια έκδοση επιχείρησης (με 15 ημέρες δωρεάν). Υποστηρίζει regexes. - [**Github Search**](https://github.com/search): Αναζητήστε σε όλο το Github. Υποστηρίζει regexes. -- Ίσως είναι επίσης χρήσιμο να ελέγξετε και το [**Github Code Search**](https://cs.github.com/). +- Ίσως είναι επίσης χρήσιμο να ελέγξετε και [**Github Code Search**](https://cs.github.com/). - [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced_search.html): Αναζητήστε σε έργα Gitlab. Υποστηρίζει regexes. - [**SearchCode**](https://searchcode.com/): Αναζητήστε κώδικα σε εκατομμύρια έργα. diff --git a/src/pentesting-web/content-security-policy-csp-bypass/README.md b/src/pentesting-web/content-security-policy-csp-bypass/README.md index 582378240..0d285480d 100644 --- a/src/pentesting-web/content-security-policy-csp-bypass/README.md +++ b/src/pentesting-web/content-security-policy-csp-bypass/README.md @@ -2,9 +2,9 @@ {{#include ../../banners/hacktricks-training.md}} -## Τι είναι το CSP +## What is CSP -Η Πολιτική Ασφαλείας Περιεχομένου (CSP) αναγνωρίζεται ως τεχνολογία του προγράμματος περιήγησης, κυρίως με στόχο την **προστασία από επιθέσεις όπως η διασταυρούμενη σcripting (XSS)**. Λειτουργεί καθορίζοντας και περιγράφοντας διαδρομές και πηγές από τις οποίες οι πόροι μπορούν να φορτωθούν με ασφάλεια από το πρόγραμμα περιήγησης. Αυτοί οι πόροι περιλαμβάνουν μια σειρά στοιχείων όπως εικόνες, πλαίσια και JavaScript. Για παράδειγμα, μια πολιτική μπορεί να επιτρέπει τη φόρτωση και εκτέλεση πόρων από τον ίδιο τομέα (self), συμπεριλαμβανομένων των inline πόρων και της εκτέλεσης κώδικα συμβολοσειρών μέσω συναρτήσεων όπως `eval`, `setTimeout` ή `setInterval`. +Η Πολιτική Ασφαλείας Περιεχομένου (CSP) αναγνωρίζεται ως μια τεχνολογία του προγράμματος περιήγησης, κυρίως με στόχο την **προστασία από επιθέσεις όπως η διασταυρούμενη σcripting (XSS)**. Λειτουργεί καθορίζοντας και περιγράφοντας διαδρομές και πηγές από τις οποίες οι πόροι μπορούν να φορτωθούν με ασφάλεια από το πρόγραμμα περιήγησης. Αυτοί οι πόροι περιλαμβάνουν μια σειρά στοιχείων όπως εικόνες, πλαίσια και JavaScript. Για παράδειγμα, μια πολιτική μπορεί να επιτρέπει τη φόρτωση και εκτέλεση πόρων από τον ίδιο τομέα (self), συμπεριλαμβανομένων των inline πόρων και την εκτέλεση κώδικα συμβολοσειράς μέσω συναρτήσεων όπως `eval`, `setTimeout` ή `setInterval`. Η εφαρμογή του CSP πραγματοποιείται μέσω **κεφαλίδων απόκρισης** ή με την ενσωμάτωση **meta στοιχείων στη σελίδα HTML**. Ακολουθώντας αυτή την πολιτική, τα προγράμματα περιήγησης επιβάλλουν ενεργά αυτούς τους όρους και μπλοκάρουν αμέσως οποιεσδήποτε ανιχνευμένες παραβάσεις. @@ -41,7 +41,7 @@ object-src 'none'; - **script-src**: Επιτρέπει συγκεκριμένες πηγές για JavaScript, συμπεριλαμβανομένων των URLs, inline scripts και scripts που ενεργοποιούνται από event handlers ή XSLT stylesheets. - **default-src**: Ορίζει μια προεπιλεγμένη πολιτική για την ανάκτηση πόρων όταν απουσιάζουν συγκεκριμένες οδηγίες fetch. -- **child-src**: Προσδιορίζει επιτρεπόμενους πόρους για web workers και περιεχόμενο ενσωματωμένων πλαισίων. +- **child-src**: Προσδιορίζει επιτρεπόμενους πόρους για web workers και περιεχόμενα ενσωματωμένων πλαισίων. - **connect-src**: Περιορίζει τα URLs που μπορούν να φορτωθούν χρησιμοποιώντας διεπαφές όπως fetch, WebSocket, XMLHttpRequest. - **frame-src**: Περιορίζει τα URLs για πλαίσια. - **frame-ancestors**: Προσδιορίζει ποιες πηγές μπορούν να ενσωματώσουν την τρέχουσα σελίδα, εφαρμόσιμο σε στοιχεία όπως ``, ` // The bot will load an URL with the payload @@ -542,7 +542,7 @@ run() ``` ### Via Bookmarklets -Αυτή η επίθεση θα περιλάμβανε κάποια κοινωνική μηχανική όπου ο επιτιθέμενος **πείθει τον χρήστη να σύρει και να ρίξει έναν σύνδεσμο πάνω στο bookmarklet του προγράμματος περιήγησης**. Αυτό το bookmarklet θα περιείχε **κακόβουλο javascript** κώδικα που όταν σύρεται και ρίχνεται ή κάνετε κλικ θα εκτελείται στο πλαίσιο του τρέχοντος διαδικτυακού παραθύρου, **παρακάμπτοντας το CSP και επιτρέποντας την κλοπή ευαίσθητων πληροφοριών** όπως cookies ή tokens. +Αυτή η επίθεση θα περιλάμβανε κάποια κοινωνική μηχανική όπου ο επιτιθέμενος **πείθει τον χρήστη να σύρει και να αποθέσει έναν σύνδεσμο πάνω στο bookmarklet του προγράμματος περιήγησης**. Αυτό το bookmarklet θα περιέχει **κακόβουλο javascript** κώδικα που όταν σύρεται και αποτίθεται ή κάνετε κλικ θα εκτελείται στο πλαίσιο του τρέχοντος παραθύρου ιστού, **παρακάμπτοντας το CSP και επιτρέποντας την κλοπή ευαίσθητων πληροφοριών** όπως cookies ή tokens. Για περισσότερες πληροφορίες [**ελέγξτε την αρχική αναφορά εδώ**](https://socradar.io/csp-bypass-unveiled-the-hidden-threat-of-bookmarklets/). @@ -556,7 +556,7 @@ run() src="https://biohazard-web.2023.ctfcompetition.com/view/[bio_id]" csp="script-src https://biohazard-web.2023.ctfcompetition.com/static/closure-library/ https://biohazard-web.2023.ctfcompetition.com/static/sanitizer.js https://biohazard-web.2023.ctfcompetition.com/static/main.js 'unsafe-inline' 'unsafe-eval'"> ``` -Στο [**αυτό το CTF writeup**](https://github.com/aszx87410/ctf-writeups/issues/48), ήταν δυνατό μέσω **HTML injection** να **περιοριστεί** περισσότερο μια **CSP** έτσι ώστε ένα σενάριο που προλαμβάνει το CSTI να απενεργοποιήθηκε και επομένως η **ευπάθεια έγινε εκμεταλλεύσιμη.**\ +Στο [**αυτό το CTF writeup**](https://github.com/aszx87410/ctf-writeups/issues/48), ήταν δυνατό μέσω **HTML injection** να **περιοριστεί** περισσότερο μια **CSP** έτσι ώστε ένα σενάριο που προλαμβάνει το CSTI να απενεργοποιηθεί και επομένως η **ευπάθεια έγινε εκμεταλλεύσιμη.**\ Η CSP μπορεί να γίνει πιο περιοριστική χρησιμοποιώντας **HTML meta tags** και τα inline scripts μπορούν να απενεργοποιηθούν **αφαιρώντας** την **είσοδο** που επιτρέπει το **nonce** τους και **ενεργοποιώντας συγκεκριμένο inline script μέσω sha**: ```html pc.setLocalDescription(sdp); ``` ### CredentialsContainer -Η αναδυόμενη ειδοποίηση διαπιστευτηρίων στέλνει ένα αίτημα DNS στο iconURL χωρίς να περιορίζεται από τη σελίδα. Λειτουργεί μόνο σε ασφαλές περιβάλλον (HTTPS) ή σε localhost. +Η αναδυόμενη ειδοποίηση πιστοποίησης στέλνει ένα αίτημα DNS στο iconURL χωρίς να περιορίζεται από τη σελίδα. Λειτουργεί μόνο σε ασφαλές περιβάλλον (HTTPS) ή σε localhost. ```javascript navigator.credentials.store( new FederatedCredential({