hacktricks/network-services-pentesting/pentesting-web
2024-05-08 17:22:16 +00:00
..
buckets Translated to Greek 2024-02-10 22:40:18 +00:00
drupal Translated ['README.md', 'binary-exploitation/rop-return-oriented-progra 2024-05-08 17:22:16 +00:00
electron-desktop-apps Translated ['README.md', 'binary-exploitation/rop-return-oriented-progra 2024-05-08 17:22:16 +00:00
php-tricks-esp Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/ 2024-05-02 15:56:18 +00:00
tomcat GitBook: No commit message 2024-04-06 18:31:47 +00:00
403-and-401-bypasses.md Translated ['README.md', 'binary-exploitation/rop-return-oriented-progra 2024-05-08 17:22:16 +00:00
aem-adobe-experience-cloud.md Translated to Greek 2024-02-10 22:40:18 +00:00
angular.md Translated to Greek 2024-02-10 22:40:18 +00:00
apache.md Translated to Greek 2024-02-10 22:40:18 +00:00
artifactory-hacking-guide.md Translated to Greek 2024-02-10 22:40:18 +00:00
bolt-cms.md Translated to Greek 2024-02-10 22:40:18 +00:00
cgi.md Translated to Greek 2024-02-10 22:40:18 +00:00
code-review-tools.md Translated ['network-services-pentesting/pentesting-web/code-review-tool 2024-04-18 02:46:33 +00:00
dotnetnuke-dnn.md Translated to Greek 2024-02-10 22:40:18 +00:00
drupal.md Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/ 2024-05-02 15:56:18 +00:00
flask.md Translated ['network-services-pentesting/pentesting-web/flask.md', 'wind 2024-05-05 13:54:27 +00:00
git.md Translated to Greek 2024-02-10 22:40:18 +00:00
golang.md Translated to Greek 2024-02-10 22:40:18 +00:00
grafana.md Translated to Greek 2024-02-10 22:40:18 +00:00
graphql.md GitBook: No commit message 2024-04-06 18:31:47 +00:00
gwt-google-web-toolkit.md Translated to Greek 2024-02-10 22:40:18 +00:00
h2-java-sql-database.md Translated to Greek 2024-02-10 22:40:18 +00:00
iis-internet-information-services.md Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack. 2024-04-18 07:07:09 +00:00
imagemagick-security.md Translated to Greek 2024-02-10 22:40:18 +00:00
jboss.md Translated ['forensics/basic-forensic-methodology/specific-software-file 2024-02-18 15:16:07 +00:00
jira.md Translated ['README.md', 'binary-exploitation/rop-return-oriented-progra 2024-05-08 17:22:16 +00:00
joomla.md Translated ['network-services-pentesting/pentesting-web/joomla.md'] to g 2024-04-10 11:58:34 +00:00
jsp.md Translated to Greek 2024-02-10 22:40:18 +00:00
laravel.md Translated to Greek 2024-02-10 22:40:18 +00:00
moodle.md Translated ['forensics/basic-forensic-methodology/specific-software-file 2024-02-18 15:16:07 +00:00
nginx.md Translated ['README.md', 'binary-exploitation/rop-return-oriented-progra 2024-05-08 17:22:16 +00:00
nodejs-express.md Translated to Greek 2024-02-10 22:40:18 +00:00
put-method-webdav.md Translated ['crypto-and-stego/certificates.md', 'generic-methodologies-a 2024-05-06 11:59:37 +00:00
python.md Translated to Greek 2024-02-10 22:40:18 +00:00
README.md Translated ['README.md', 'binary-exploitation/rop-return-oriented-progra 2024-05-08 17:22:16 +00:00
rocket-chat.md Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/ 2024-05-02 15:56:18 +00:00
special-http-headers.md Translated ['generic-methodologies-and-resources/external-recon-methodol 2024-04-10 13:50:05 +00:00
spring-actuators.md Translated to Greek 2024-02-10 22:40:18 +00:00
symphony.md Translated to Greek 2024-02-10 22:40:18 +00:00
tomcat.md Translated ['README.md', 'forensics/basic-forensic-methodology/partition 2024-03-15 00:12:21 +00:00
uncovering-cloudflare.md Translated ['generic-methodologies-and-resources/external-recon-methodol 2024-04-10 13:50:05 +00:00
vmware-esx-vcenter....md Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/ 2024-05-02 15:56:18 +00:00
waf-bypass.md Translated to Greek 2024-02-10 22:40:18 +00:00
web-api-pentesting.md Translated ['network-services-pentesting/pentesting-web/web-api-pentesti 2024-05-05 17:49:06 +00:00
werkzeug.md Translated ['README.md', 'binary-exploitation/rop-return-oriented-progra 2024-05-08 17:22:16 +00:00
wordpress.md Translated ['crypto-and-stego/certificates.md', 'generic-methodologies-a 2024-05-06 11:59:37 +00:00

80,443 - Μεθοδολογία Ελέγχου Ευπάθειας Ιστού

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks στο AWS)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Αν σας ενδιαφέρει η καριέρα στο χάκινγκ και το χάκαρισμα του αχάκαρτου - σας προσλαμβάνουμε! (απαιτείται άριστη γνώση γραπτού και προφορικού Πολωνικών).

{% embed url="https://www.stmcyber.com/careers" %}

Βασικές Πληροφορίες

Η υπηρεσία ιστού είναι η πιο συνηθισμένη και εκτεταμένη υπηρεσία και υπάρχουν πολλοί διαφορετικοί τύποι ευπαθειών.

Προεπιλεγμένη θύρα: 80 (HTTP), 443 (HTTPS)

PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  ssl/https
nc -v domain.com 80 # GET / HTTP/1.0
openssl s_client -connect domain.com:443 # GET / HTTP/1.0

Οδηγίες Web API

{% content-ref url="web-api-pentesting.md" %} web-api-pentesting.md {% endcontent-ref %}

Σύνοψη μεθοδολογίας

Σε αυτήν τη μεθοδολογία θα υποθέσουμε ότι πρόκειται να επιτεθείτε σε έναν τομέα (ή υποτομέα) και μόνο σε αυτόν. Έτσι, θα πρέπει να εφαρμόσετε αυτήν τη μεθοδολογία σε κάθε ανακαλυφθέντα τομέα, υποτομέα ή IP με μη καθορισμένο διακομιστή web εντός του πεδίου εφαρμογής.

  • Ξεκινήστε με το εντοπισμό των τεχνολογιών που χρησιμοποιεί ο διακομιστής web. Αναζητήστε κόλπα που πρέπει να έχετε υπόψη σας κατά τη διάρκεια του υπόλοιπου τεστ αν μπορείτε να αναγνωρίσετε με επιτυχία την τεχνολογία.
  • Υπάρχει κάποια γνωστή ευπάθεια της έκδοσης της τεχνολογίας;
  • Χρησιμοποιείται κάποια γνωστή τεχνολογία; Κάποιο χρήσιμο κόλπο για εξαγωγή περισσότερων πληροφοριών;
  • Υπάρχει κάποιο εξειδικευμένο σαρώτη που πρέπει να εκτελέσετε (όπως το wpscan);
  • Εκκινήστε σαρώσεις γενικής χρήσης. Δεν ξέρετε ποτέ αν θα βρουν κάτι ή αν θα βρουν κάποιες ενδιαφέρουσες πληροφορίες.
  • Ξεκινήστε με τους αρχικούς ελέγχους: ρομπότ, χάρτης ιστότοπου, σφάλμα 404 και σάρωση SSL/TLS (εάν χρησιμοποιεί HTTPS).
  • Ξεκινήστε το αραχνο-δίκτυο: Ήρθε η ώρα να βρείτε όλα τα πιθανά αρχεία, φακέλους και παραμέτρους που χρησιμοποιούνται. Επίσης, ελέγξτε για ειδικές ευρήματα.
  • Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος κατάλογος κατά τη διαδικασία brute-forcing ή αραχνο-δικτύου, πρέπει να γίνει αραχνο-δίκτυο.
  • Αναζήτηση Καταλόγων με Βία: Δοκιμάστε να εκτελέσετε με βία όλους τους ανακαλυφθέντες φακέλους αναζητώντας νέα αρχεία και καταλόγους.
  • Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος κατάλογος κατά τη διαδικασία brute-forcing ή αραχνο-δικτύου, πρέπει να γίνει Βία-Εξερεύνηση.
  • Έλεγχος Αντιγράφων Ασφαλείας: Δοκιμάστε να βρείτε αντίγραφα ασφαλείας των ανακαλυφθέντων αρχείων προσθέτοντας κοινές επεκτάσεις αντιγράφων ασφαλείας.
  • Βία-Εξερεύνηση Παραμέτρων: Δοκιμάστε να βρείτε κρυμμένες παραμέτρους.
  • Αφού έχετε αναγνωρίσει όλα τα πιθανά σημεία εισόδου που δέχονται είσοδο χρήστη, ελέγξτε όλους τους τύπους ευπαθειών που σχετίζονται με αυτά.
  • Ακολουθήστε αυτό τον κατάλογο ελέγχου

Έκδοση Διακομιστή (Ευπάθειες;)

Αναγνώριση

Ελέγξτε αν υπάρχουν γνωστές ευπάθειες για την έκδοση του διακομιστή που εκτελείται.
Τα κεφαλίδες HTTP και τα cookies της απόκρισης μπορεί να είναι πολύ χρήσιμα για την αναγνώριση των τεχνολογιών και/ή έκδοσης που χρησιμοποιούνται. Η σάρωση Nmap μπορεί να αναγνωρίσει την έκδοση του διακομιστή, αλλά μπορεί επίσης να είναι χρήσιμα τα εργαλεία whatweb, webtech ή https://builtwith.com/:

whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2

Αναζήτηση για ευπαθείς του web application έκδοση

Έλεγχος εάν υπάρχει WAF

Κόλπα τεχνολογίας Web

Μερικά κόλπα για εύρεση ευπαθειών σε διαφορετικές καλά γνωστές τεχνολογίες που χρησιμοποιούνται:

Λάβετε υπόψη ότι το ίδιο domain μπορεί να χρησιμοποιεί διαφορετικές τεχνολογίες σε διαφορετικές θύρες, φάκελους και υποτομείς.
Εάν το web application χρησιμοποιεί κάποια καλά γνωστή τεχνολογία/πλατφόρμα που αναφέρθηκε πριν ή οποιαδήποτε άλλη, μην ξεχάσετε να αναζητήσετε στο Internet νέα κόλπα (και ενημερώστε με!).

Αναθεώρηση Κώδικα Πηγής

Εάν ο κώδικας πηγής της εφαρμογής είναι διαθέσιμος στο github, εκτός από το να πραγματοποιήσετε μόνοι σας ένα Λευκό κουτί τεστ της εφαρμογής, υπάρχει κάποια πληροφορία που θα μπορούσε να είναι χρήσιμη για το τρέχον Μαύρο-Κουτί τεστ:

  • Υπάρχει Αρχείο Αλλαγών ή Readme ή Αρχείο Έκδοσης ή οποιαδήποτε άλλη πληροφορία με πληροφορίες έκδοσης προσβάσιμη μέσω του web;
  • Πώς και πού αποθηκεύονται οι διαπιστεύσεις; Υπάρχει κάποιο (προσβάσιμο;) αρχείο με διαπιστεύσεις (ονόματα χρηστών ή κωδικούς πρόσβασης);
  • Οι κωδικοί πρόσβασης είναι σε καθαρό κείμενο, κρυπτογραφημένοι ή ποιος αλγόριθμος κατακερματισμού χρησιμοποιείται;
  • Χρησιμοποιεί κάποιο κύριο κλειδί για την κρυπτογράφηση κάτι; Ποιος αλγόριθμος χρησιμοποιείται;
  • Μπορείτε να έχετε πρόσβαση σε οποιοδήποτε από αυτά τα αρχεία εκμεταλλευόμενοι κάποια ευπάθεια;
  • Υπάρχει κάποια ενδιαφέρουσα πληροφορία στο github (λυμένα και μη λυμένα) θέματα; Ή στο ιστορικό δέσμευσης (ίσως κάποιος κωδικός εισήχθη μέσα σε μια παλιά δέσμευση)?

{% content-ref url="code-review-tools.md" %} code-review-tools.md {% endcontent-ref %}

Αυτόματοι σαρωτές

Αυτόματοι σαρωτές γενικής χρήσης

nikto -h <URL>
whatweb -a 4 <URL>
wapiti -u <URL>
W3af
zaproxy #You can use an API
nuclei -ut && nuclei -target <URL>

# https://github.com/ignis-sec/puff (client side vulns fuzzer)
node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi2rVUN/?query=FUZZ"

Σαρωτές CMS

Εάν χρησιμοποιείται ένα CMS, μην ξεχνάτε να εκτελέσετε ένα σαρωτή, ίσως βρεθεί κάτι ενδιαφέρον:

Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin ιστοσελίδες για θέματα ασφαλείας. (Γραφικό περιβάλλον)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal ή (M)oodle
droopscan: Drupal, Joomla, Moodle, Silverstripe, Wordpress

cmsmap [-f W] -F -d <URL>
wpscan --force update -e --url <URL>
joomscan --ec -u <URL>
joomlavs.rb #https://github.com/rastating/joomlavs

Σε αυτό το σημείο θα πρέπει να έχετε ήδη κάποιες πληροφορίες για τον web server που χρησιμοποιείται από τον πελάτη (εάν έχει δοθεί κάποια δεδομένα) και μερικά κόλπα που πρέπει να έχετε υπόψη κατά τη διάρκεια της δοκιμής. Αν είστε τυχεροί, μπορεί να έχετε βρει ακόμα και ένα CMS και να έχετε εκτελέσει κάποιο scanner.

Ανακάλυψη Εφαρμογής Web Βήμα-προς-Βήμα

Από αυτό το σημείο θα αρχίσουμε να αλληλεπιδρούμε με την web εφαρμογή.

Αρχικοί Έλεγχοι

Προεπιλεγμένες σελίδες με ενδιαφέρουσες πληροφορίες:

  • /robots.txt
  • /sitemap.xml
  • /crossdomain.xml
  • /clientaccesspolicy.xml
  • /.well-known/
  • Ελέγξτε επίσης τα σχόλια στις κύριες και δευτερεύουσες σελίδες.

Εξαναγκασμός σφαλμάτων

Οι web servers μπορεί να συμπεριφέρονται απροσδόκητα όταν στέλνονται παράξενα δεδομένα σε αυτούς. Αυτό μπορεί να ανοίξει ευπάθειες ή αποκάλυψη ευαίσθητων πληροφοριών.

  • Πρόσβαση σε ψεύτικες σελίδες όπως /whatever_fake.php (.aspx,.html,.κλπ)
  • Προσθήκη "[]", "]]" και "[[" σε τιμές cookie και τιμές παραμέτρων για δημιουργία σφαλμάτων
  • Δημιουργία σφάλματος δίνοντας είσοδο ως /~randomthing/%s στο τέλος του URL
  • Δοκιμάστε διαφορετικές HTTP Μέθοδους όπως PATCH, DEBUG ή λανθασμένες όπως FAKE

Έλεγχος εάν μπορείτε να μεταφορτώσετε αρχεία (PUT μέθοδος, WebDav)

Εάν ανακαλύψετε ότι το WebDav είναι ενεργοποιημένο αλλά δεν έχετε αρκετές άδειες για μεταφόρτωση αρχείων στον ριζικό φάκελο, προσπαθήστε:

  • Επίθεση με βία στα διαπιστευτήρια
  • Μεταφόρτωση αρχείων μέσω WebDav στο υπόλοιπο των εντοπισμένων φακέλων μέσα στην ιστοσελίδα. Μπορεί να έχετε άδειες για μεταφόρτωση αρχείων σε άλλους φακέλους.

Ευπάθειες SSL/TLS

  • Εάν η εφαρμογή δεν αναγκάζει τη χρήση HTTPS σε καμία περίπτωση, τότε είναι ευάλωτη σε MitM
  • Εάν η εφαρμογή αποστέλλει ευαίσθητα δεδομένα (κωδικούς πρόσβασης) χρησιμοποιώντας HTTP. Τότε είναι μια υψηλή ευπάθεια.

Χρησιμοποιήστε το testssl.sh για έλεγχο ευπαθειών (Σε προγράμματα ανταμοιβής ευρημάτων πιθανόν αυτού του είδους ευπάθειες δεν θα γίνουν δεκτές) και χρησιμοποιήστε το a2sv για επανέλεγχο των ευπαθειών:

./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also

# You can also use other tools, by testssl.sh at this momment is the best one (I think)
sslscan <host:port>
sslyze --regular <ip:port>

Πληροφορίες σχετικά με ευπάθειες SSL/TLS:

Spidering

Εκκινήστε κάποιο είδος αράχνης μέσα στον ιστό. Ο στόχος της αράχνης είναι να βρει όσο το δυνατόν περισσότερα μονοπάτια από τη δοκιμαζόμενη εφαρμογή. Επομένως, θα πρέπει να χρησιμοποιηθεί web crawling και εξωτερικές πηγές για να βρεθούν όσο το δυνατόν περισσότερα έγκυρα μονοπάτια.

  • gospider (go): HTML αράχνη, LinkFinder σε αρχεία JS και εξωτερικές πηγές (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
  • hakrawler (go): HTML αράχνη, με LinkFinder για αρχεία JS και το Archive.org ως εξωτερική πηγή.
  • dirhunt (python): HTML αράχνη, επίσης ενδεικτική για "juicy αρχεία".
  • evine (go): Διαδραστική CLI HTML αράχνη. Αναζητά επίσης στο Archive.org.
  • meg (go): Αυτό το εργαλείο δεν είναι μια αράχνη, αλλά μπορεί να είναι χρήσιμο. Μπορείτε απλά να υποδείξετε ένα αρχείο με hosts και ένα αρχείο με μονοπάτια και το meg θα ανακτήσει κάθε μονοπάτι σε κάθε κόμβο και θα αποθηκεύσει την απόκριση.
  • urlgrab (go): HTML αράχνη με δυνατότητες απεικόνισης JS. Ωστόσο, φαίνεται ότι δεν συντηρείται, η προεπιλεγμένη έκδοση είναι παλιά και ο τρέχων κώδικας δεν μεταγλωτίζεται.
  • gau (go): HTML αράχνη που χρησιμοποιεί εξωτερικούς παρόχους (wayback, otx, commoncrawl).
  • ParamSpider: Αυτό το σενάριο θα βρει URLs με παραμέτρους και θα τα καταχωρίσει.
  • galer (go): HTML αράχνη με δυνατότητες απεικόνισης JS.
  • LinkFinder (python): HTML αράχνη, με δυνατότητες ομορφοποίησης JS ικανή να αναζητήσει νέα μονοπάτια σε αρχεία JS. Μπορεί να αξίζει επίσης να ρίξετε μια ματιά στο JSScanner, το οποίο είναι ένα περιτύλιγμα του LinkFinder.
  • goLinkFinder (go): Για την εξαγωγή σημείων αναφοράς τόσο από την πηγή HTML όσο και από ενσωματωμένα αρχεία javascript. Χρήσιμο για κυνηγούς ευκαιριών ευπάθειας, ομάδες ερυθρού και ειδικούς ασφάλειας πληροφοριών.
  • JSParser (python2.7): Ένα σενάριο python 2.7 που χρησιμοποιεί Tornado και JSBeautifier για να αναλύσει σχετικές διευθύνσεις URL από αρχεία JavaScript. Χρήσιμο για την εύκολη ανακάλυψη αιτημάτων AJAX. Φαίνεται να μην συντηρείται.
  • relative-url-extractor (ruby): Δεδομένου ενός αρχείου (HTML) θα εξάγει URLs από αυτό χρησιμοποιώντας εξυπνούς κανόνες εκφράσεων για να βρει και να εξάγει τα σχετικά URLs από άσχημα (συμπιεσμένα) αρχεία.
  • JSFScan (bash, πολλά εργαλεία): Συγκεντρώνει ενδιαφέρουσες πληροφορίες από αρχεία JS χρησιμοποιώντας πολλά εργαλεία.
  • subjs (go): Βρίσκει αρχεία JS.
  • page-fetch (go): Φορτώνει μια σελίδα σε ένα headless πρόγραμμα περιήγησης και εκτυπώνει όλες τις διευθύνσεις URL που φορτώθηκαν για να φορτώσει τη σελίδα.
  • Feroxbuster (rust): Εργαλείο ανακάλυψης περιεχομένου που συνδυάζει διάφορες επιλογές των προηγούμενων εργαλείων.
  • Javascript Parsing: Μια επέκταση Burp για την εύρεση μονοπατιών και παραμέτρων σε αρχεία JS.
  • Sourcemapper: Ένα εργαλείο που δεδομένου του URL .js.map θα σας δώσει τον καλύτερο κώδικα JS.
  • xnLinkFinder: Αυτό είναι ένα εργαλείο που χρησιμοποιείται για την ανακάλυψη σημείων αναφοράς για ένα συγκεκριμένο στόχο.
  • waymore: Ανακαλύψτε συνδέσμους από το wayback machine (και κατεβάστε τις απαντήσεις στο wayback και αναζητήστε περισσότερους συνδέσμους
  • HTTPLoot (go): Αναζητήστε (ακόμα και συμπληρώνοντας φόρμες) και βρείτε επίσης ευαίσθητες πληροφορίες χρησιμοποιώντας συγκεκριμένες regexes.
  • SpiderSuite: Το Spider Suite είναι ένα προηγμένο πολυχαρακτηριστικό GUI εργαλείο ασφάλειας ιστού Crawler/Spider σχεδιασμένο για επαγγελματίες κυβερνοασφάλειας.
  • jsluice (go): Είναι ένα πακέτο Go και εργαλείο γραμμής εντολών για την εξαγωγή διευθύνσεων URL, μονοπατιών, μυστικών και άλλων ενδιαφερουσών δεδομένων από τον κώδικα πηγής JavaScript.
  • ParaForge: Το ParaForge είναι μια απλή επέκταση του Burp Suite για εξαγωγή των παραμέτρων και των σημείων αναφοράς από το αίτημα για τη δημιουργία προσαρμοσμένης λίστας λέξεων για fuzzing και απαρίθμηση.
  • katana (go): Εξαιρετικό εργαλείο για αυτό.

Επίθεση Brute Force σε καταλόγους και αρχεία

Ξεκινήστε την επίθεση Brute Force από τον ριζικό φάκελο και βεβαιωθείτε ότι εφαρμόζετε επίθεση Brute Force σε όλους τους βρεθέντες καταλόγους χρησιμοποιώντας αυτήν τη μέθοδο και όλους τους καταλόγους που ανακαλύφθηκαν από την αράχνη (μπορείτε να κάνετε αυτήν την επίθεση Brute Force αναδρομικά και να προσθέτετε στην αρχή της χρησιμοποιούμενης λίστας λέξεων τα ονόματα των βρεθέντων καταλόγων).
Εργαλεία:

Σημείωση ότι κάθε φορά που ανακαλύπτετε ένα νέο κατάλογο κατά τη διαδικασία της επίθεσης με δύναμη ή της ανάρριψης ιστοσελίδων, πρέπει να γίνει επίθεση με δύναμη.

Τι να ελέγξετε σε κάθε αρχείο που βρίσκετε

  • Έλεγχος σπασμένων συνδέσμων: Βρείτε σπασμένους συνδέσμους μέσα σε HTML που μπορεί να είναι επιρρεπείς σε κατάληψη
  • Αντίγραφα αρχείων: Αφού βρείτε όλα τα αρχεία, ψάξτε για αντίγραφα όλων των εκτελέσιμων αρχείων (".php", ".aspx"...). Συνήθεις παραλλαγές ονομασίας για ένα αντίγραφο είναι: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp και file.old. Μπορείτε επίσης να χρησιμοποιήσετε το εργαλείο bfac ή backup-gen.
  • Ανακάλυψη νέων παραμέτρων: Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το Arjun, parameth, x8 και Param Miner για να ανακαλύψετε κρυμμένες παραμέτρους. Αν μπορείτε, μπορείτε να δοκιμάσετε κρυμμένες παραμέτρους σε κάθε εκτελέσιμο αρχείο ιστοσελίδας.
  • Όλες οι προεπιλεγμένες λίστες λέξεων του Arjun: https://github.com/s0md3v/Arjun/tree/master/arjun/db
  • Param-miner "params": https://github.com/PortSwigger/param-miner/blob/master/resources/params
  • Assetnote "parameters_top_1m": https://wordlists.assetnote.io/
  • nullenc0de "params.txt": https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773
  • Σχόλια: Ελέγξτε τα σχόλια όλων των αρχείων, μπορείτε να βρείτε διαπιστευτήρια ή κρυφή λειτουργικότητα.
  • Εάν παίζετε CTF, ένα "συνηθισμένο" κόλπος είναι να κρύψετε πληροφορίες μέσα στα σχόλια στα δεξιά της σελίδας (χρησιμοποιώντας εκατοντάδες κενά ώστε να μην βλέπετε τα δεδομένα αν ανοίξετε τον πηγαίο κώδικα με τον περιηγητή). Άλλη πιθανότητα είναι να χρησιμοποιήσετε πολλές νέες γραμμές και να κρύψετε πληροφορίες σε ένα σχόλιο στο κάτω μέρος της ιστοσελίδας.
  • Κλειδιά API: Εάν βρείτε κάποιο κλειδί API υπάρχει οδηγός που επισημαίνει πώς να χρησιμοποιήσετε κλειδιά API διαφορετικών πλατφορμών: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
  • Κλειδιά Google API: Εάν βρείτε οποιοδήποτε κλειδί API που μοιάζει με AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik μπορείτε να χρησιμοποιήσετε το έργο gmapapiscanner για να ελέγξετε ποια APIs μπορεί να έχει πρόσβαση το κλειδί.
  • Κάδοι S3: Κατά την ανάρριψη ελέγξτε αν κάποιο υποτομέα ή οποιοδήποτε σύνδεσμος σχετίζεται με κάποιον κάδο S3. Σε αυτήν την περίπτωση, ελέγξτε τις άδειες του κάδου.

Ειδικές ευρήσεις

Κατά την εκτέλεση της ανάρριψης και της επίθεσης με δύναμη μπορείτε να βρείτε ενδιαφέροντα πράγματα που πρέπει να παρατηρήσετε.

Ενδιαφέροντα αρχεία

  • Αναζητήστε συνδέσμους προς άλλα αρχεία μέσα στα αρχεία CSS.
  • Εάν βρείτε ένα αρχείο .git μπορεί να εξαχθούν πληροφορίες
  • Εάν βρείτε ένα .env μπορεί να βρεθούν πληροφορίες όπως κλειδιά api, κωδικοί βάσεων δεδομένων και άλλες πληροφορίες.
  • Εάν βρείτε API endpoints θα πρέπει επίσης να τα δοκιμάσετε. Δεν είναι αρχεία, αλλά πιθανότατα θα "μοιάζουν" με αυτά.
  • Αρχεία JS: Στην ενότητα της ανάρριψης αναφέρθηκαν διάφορα εργαλεία που μπορούν να εξάγουν διαδρομές από αρχεία JS. Επίσης, θα ήταν ενδιαφέρον να παρακολουθείτε κάθε αρχείο JS που βρίσκετε, καθώς σε ορισμένες περιπτώσεις, μια αλλαγή μπορεί να υποδείξει ότι εισήχθη μια πιθανή ευπάθεια στον κώδικα. Μπορείτε να χρησιμοποιήσετε για παράδειγμα το JSMon.
  • Θα πρέπει επίσης να ελέγχετε τα ανακαλυφθέντα αρχεία JS με το RetireJS ή το JSHole για να δείτε αν είναι ευάλωτα.
  • Αποκωδικοποιητής και αποσυμπιεστής Javascript: https://lelinhtinh.github.io/de4js/, https://www.dcode.fr/javascript-unobfuscator
  • Ομορφοποιητής Javascript: http://jsbeautifier.org/, http://jsnice.org/
  • Αποκωδικοποίηση JsFuck (javascript με χαρακτήρες:"[]!+" https://ooze.ninja/javascript/poisonjs/)
  • TrainFuck: +72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.
  • Σε πολλές περιπτώσεις θα χρειαστεί να κατανοήσετε τις τακτικές εκφράσεις που χρησιμοποιούνται, αυτό θα είναι χρήσιμο: https://regex101.com/
  • Μπορείτε επίσης να παρακολουθείτε τα αρχεία όπου ανιχνεύθηκαν φόρμες, καθώς μια αλλαγή στην παράμετρο ή η εμφάνιση μιας νέας φόρμας μπορεί να υποδηλώνει μια πιθανή νέα ευάλωτη λειτουργικότητα.

403 Απαγορευμένο/Βασική Ταυτοποίηση/401 Μη εξουσιοδοτημένο (παράκαμψη)

{% content-ref url="403-and-401-bypasses.md" %} 403-and-401-bypasses.md {% endcontent-ref %}

502 Σφάλμα Προϊστορίας

Εάν μια σελίδα ανταποκρίνεται με αυτόν τον κωδικό, πιθανότατα είναι ένας κακά διαμορφωμένος διαμεσολαβητής. Αν στείλετε ένα αίτημα HTTP όπως: GET https://google.com HTTP/1.1 (με την κεφαλή και άλλες κοινές κεφαλίδες), ο **διαμεσο

Έλεγχος Ευπαθειών Ιστού

Τώρα που έχει πραγματοποιηθεί μια σφαιρική απαρίθμηση της εφαρμογής ιστού, είναι καιρός να ελεγχθούν πολλές πιθανές ευπαθείες. Μπορείτε να βρείτε τον έλεγχο εδώ:

{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %} web-vulnerabilities-methodology.md {% endcontent-ref %}

Βρείτε περισσότερες πληροφορίες σχετικά με ευπαθείες ιστού σε:

Παρακολούθηση Σελίδων για Αλλαγές

Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το https://github.com/dgtlmoon/changedetection.io για την παρακολούθηση σελίδων για τροποποιήσεις που ενδέχεται να εισάγουν ευπαθείες.

Αν σας ενδιαφέρει η καριέρα στο χάκινγκ και το χάκινγκ του αδυνάτου - προσλαμβάνουμε! (απαιτείται άριστη γνώση γραπτού και προφορικού Πολωνικών).

{% embed url="https://www.stmcyber.com/careers" %}

Αυτόματες Εντολές HackTricks

Protocol_Name: Web    #Protocol Abbreviation if there is one.
Port_Number:  80,443     #Comma separated if there is more than one.
Protocol_Description: Web         #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for Web
Note: |
https://book.hacktricks.xyz/pentesting/pentesting-web

Entry_2:
Name: Quick Web Scan
Description: Nikto and GoBuster
Command: nikto -host {Web_Proto}://{IP}:{Web_Port} &&&& gobuster dir -w {Small_Dirlist} -u {Web_Proto}://{IP}:{Web_Port} && gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}

Entry_3:
Name: Nikto
Description: Basic Site Info via Nikto
Command: nikto -host {Web_Proto}://{IP}:{Web_Port}

Entry_4:
Name: WhatWeb
Description: General purpose auto scanner
Command: whatweb -a 4 {IP}

Entry_5:
Name: Directory Brute Force Non-Recursive
Description:  Non-Recursive Directory Brute Force
Command: gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}

Entry_6:
Name: Directory Brute Force Recursive
Description: Recursive Directory Brute Force
Command: python3 {Tool_Dir}dirsearch/dirsearch.py -w {Small_Dirlist} -e php,exe,sh,py,html,pl -f -t 20 -u {Web_Proto}://{IP}:{Web_Port} -r 10

Entry_7:
Name: Directory Brute Force CGI
Description: Common Gateway Interface Brute Force
Command: gobuster dir -u {Web_Proto}://{IP}:{Web_Port}/ -w /usr/share/seclists/Discovery/Web-Content/CGIs.txt -s 200

Entry_8:
Name: Nmap Web Vuln Scan
Description: Tailored Nmap Scan for web Vulnerabilities
Command: nmap -vv --reason -Pn -sV -p {Web_Port} --script=`banner,(http* or ssl*) and not (brute or broadcast or dos or external or http-slowloris* or fuzzer)` {IP}

Entry_9:
Name: Drupal
Description: Drupal Enumeration Notes
Note: |
git clone https://github.com/immunIT/drupwn.git for low hanging fruit and git clone https://github.com/droope/droopescan.git for deeper enumeration

Entry_10:
Name: WordPress
Description: WordPress Enumeration with WPScan
Command: |
?What is the location of the wp-login.php? Example: /Yeet/cannon/wp-login.php
wpscan --url {Web_Proto}://{IP}{1} --enumerate ap,at,cb,dbe && wpscan --url {Web_Proto}://{IP}{1} --enumerate u,tt,t,vp --passwords {Big_Passwordlist} -e

Entry_11:
Name: WordPress Hydra Brute Force
Description: Need User (admin is default)
Command: hydra -l admin -P {Big_Passwordlist} {IP} -V http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'

Entry_12:
Name: Ffuf Vhost
Description: Simple Scan with Ffuf for discovering additional vhosts
Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:FUZZ.{Domain_Name}" -c -mc all {Ffuf_Filters}
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks: