Το Burp Suite είναι το πιο διαδεδομένο εργαλείο για την ανάλυση της κίνησης web εφαρμογών. Σε αυτό το εργαστηριακό άρθρο για αρχάριους στήνουμε το Community edition ως proxy, μαθαίνουμε να «πιάνουμε» (intercept) και να διαβάζουμε HTTP requests, εξερευνούμε το HTTP history και κάνουμε τα πρώτα μας βήματα στο Repeater — όλα μέσα σε ένα απομονωμένο (isolated) lab, με έμφαση στην κατανόηση και την άμυνα.

1. Γιατί έχει σημασία το Burp Suite

Όταν ανοίγεις μια web εφαρμογή, ο browser και ο server ανταλλάσσουν δεκάδες μηνύματα HTTP που κανονικά δεν βλέπεις. Το Burp Suite κάθεται ανάμεσά τους ως ενδιάμεσος proxy (intercepting proxy) και σου επιτρέπει να δεις — και προαιρετικά να τροποποιήσεις — κάθε request και κάθε response. Είναι το «μικροσκόπιο» με το οποίο κάθε αναλυτής ασφάλειας web κοιτάζει τι πραγματικά συμβαίνει κάτω από το γραφικό περιβάλλον.

Η δωρεάν έκδοση Community έρχεται προεγκατεστημένη στο Kali Linux και καλύπτει άνετα όλα τα βασικά: proxy, intercept, HTTP history και Repeater. Δεν έχει τον αυτόματο σαρωτή (scanner) της έκδοσης Professional, αλλά για να μάθεις πώς λειτουργεί μια εφαρμογή στο επίπεδο του πρωτοκόλλου είναι υπεραρκετή.

Γιατί το χρειάζεται ένας defender; Επειδή σχεδόν κάθε ευπάθεια web (injection, broken access control, misconfiguration) φαίνεται μέσα σε ένα HTTP μήνυμα. Μαθαίνοντας να διαβάζεις ένα request στο Burp, καταλαβαίνεις πώς μια εφαρμογή εκθέτει δεδομένα, ποια security headers λείπουν και πού μπορεί να πάει στραβά ένας έλεγχος εξουσιοδότησης — γνώση που χρησιμοποιείς για να θωρακίσεις τα δικά σου συστήματα.

2. Βασικές έννοιες

2.1 Ο Burp ως proxy

Ένας proxy είναι ένας ενδιάμεσος σταθμός. Αντί ο browser να μιλάει απευθείας με τον web server, στέλνει την κίνηση στον Burp (που ακούει τοπικά στο 127.0.0.1:8080), και ο Burp την προωθεί στον στόχο. Έτσι κάθε μήνυμα περνάει από τα χέρια μας πριν φύγει ή πριν φτάσει στον browser.

2.2 Intercept: παύση της κίνησης

Όταν το Intercept είναι ενεργό (ON), ο Burp σταματά κάθε request και το κρατά σε αναμονή. Εσύ αποφασίζεις: Forward (προώθηση όπως είναι), Drop (απόρριψη), ή τροποποίηση πριν την προώθηση. Είναι σαν να βάζεις παύση στο δίκτυο για να επιθεωρήσεις — ή και να πειράξεις — ένα μήνυμα.

2.3 HTTP history

Ακόμη κι όταν το Intercept είναι κλειστό (OFF), ο Burp καταγράφει κάθε request που περνά από τον proxy στην καρτέλα HTTP history. Είναι ένας πλήρης πίνακας: μέθοδος, URL, status code, μέγεθος και τύπος περιεχομένου. Εδώ βλέπεις με μια ματιά όλη τη «συνομιλία» του browser με την εφαρμογή.

2.4 Repeater

Το Repeater σου επιτρέπει να πάρεις ένα request, να το τροποποιήσεις χειροκίνητα και να το ξαναστείλεις όσες φορές θέλεις, βλέποντας κάθε φορά την απόκριση. Είναι το εργαλείο για ελεγχόμενο πειραματισμό: αλλάζεις μια παράμετρο, ένα header ή ένα cookie και παρατηρείς πώς αντιδρά ο server.

2.5 Target & scope

Η καρτέλα Target χτίζει έναν χάρτη (site map) της εφαρμογής. Το κρίσιμο εδώ είναι το scope: ορίζεις ρητά ποιοι hosts επιτρέπεται να αναλυθούν. Ρυθμίζοντας το scope μόνο στο 10.10.10.20 του lab και ενεργοποιώντας το φίλτρο «show only in-scope items», εξασφαλίζεις ότι δεν στέλνεις ποτέ κίνηση σε στόχο εκτός εξουσιοδότησης — μια συνήθεια που είναι ταυτόχρονα τεχνική και δεοντολογική.

3. Πρακτικό κομμάτι: τα πρώτα βήματα στο Burp

Στόχος μας είναι ένας απλός web server στο 10.10.10.20, μέσα στο απομονωμένο εργαστήριο. Θα δουλέψουμε από το Kali, θα στήσουμε τον proxy και θα δούμε την κίνηση να περνά από τα χέρια μας.

3.1 Εκκίνηση και έλεγχος του proxy listener

Ξεκινάμε το Burp και επιβεβαιώνουμε ότι ο proxy listener ακούει στο 127.0.0.1:8080. Ένα γρήγορο curl μέσα από τον proxy μας δείχνει ότι η διαδρομή δουλεύει — το request θα εμφανιστεί αμέσως στο HTTP history:

Terminal στο Kali: εκκίνηση του Burp Suite, έλεγχος με ss ότι ο proxy listener ακούει στο 127.0.0.1:8080 και δοκιμαστικό curl μέσα από τον proxy
Terminal στο Kali: εκκίνηση του Burp Suite, έλεγχος με ss ότι ο proxy listener ακούει στο 127.0.0.1:8080 και δοκιμαστικό curl μέσα από τον proxy

Για να στείλει ο browser την κίνησή του εδώ, ρυθμίζεις τον proxy του browser (ή του FoxyProxy) στο 127.0.0.1:8080 και εγκαθιστάς το πιστοποιητικό CA του Burp, ώστε να «διαβάζει» και το HTTPS χωρίς προειδοποιήσεις μέσα στο lab.

3.2 Intercept: πιάνουμε ένα request

Με το Intercept σε κατάσταση ON, υποβάλλουμε μια φόρμα σύνδεσης στην εφαρμογή. Ο Burp σταματά το POST και μας το δείχνει ακατέργαστο (raw), γραμμή προς γραμμή. Πρόσεξε ότι το password είναι sanitised (…snip…) — ποτέ δεν καταγράφουμε πραγματικά credentials:

Ακατέργαστο HTTP POST request που κρατήθηκε από το Intercept του Burp, με headers και το σώμα της φόρμας σύνδεσης όπου το password είναι sanitised
Ακατέργαστο HTTP POST request που κρατήθηκε από το Intercept του Burp, με headers και το σώμα της φόρμας σύνδεσης όπου το password είναι sanitised

Εδώ φαίνεται όλη η ανατομία ενός request: η γραμμή POST /login HTTP/1.1, τα headers (Host, User-Agent, Content-Type) και το body με τα δεδομένα της φόρμας. Από αυτό το σημείο μπορούμε να πατήσουμε Forward, Drop, ή να το στείλουμε στο Repeater για περαιτέρω ανάλυση.

3.3 Το HTTP history

Κλείνουμε το Intercept (OFF) και αφήνουμε την εφαρμογή να δουλέψει κανονικά. Κάθε request καταγράφεται στο HTTP history. Το εξάγουμε σε CSV για να το διαβάσουμε καθαρά στο terminal:

Πίνακας HTTP history εξαγμένος σε CSV και μορφοποιημένος στο terminal, με μέθοδο, URL, status code, μέγεθος και τύπο περιεχομένου για κάθε request
Πίνακας HTTP history εξαγμένος σε CSV και μορφοποιημένος στο terminal, με μέθοδο, URL, status code, μέγεθος και τύπο περιεχομένου για κάθε request

Κάθε γραμμή είναι ένα request που πέρασε από τον proxy. Ένας αναλυτής εδώ εντοπίζει άμεσα ενδιαφέροντα σημεία: το POST /login που απαντά με 302, το /api/profile που επιστρέφει JSON, ή ένα 404 που αποκαλύπτει τη συμπεριφορά του server. Το HTTP history είναι το σημείο εκκίνησης κάθε ανάλυσης.

3.4 Repeater: ελεγχόμενος πειραματισμός

Στέλνουμε το GET /api/profile στο Repeater. Εκεί μπορούμε να αλλάξουμε την παράμετρο id και να ξαναστείλουμε το request, παρατηρώντας την απόκριση κάθε φορά. Αυτός είναι ο τυπικός τρόπος να ελέγξεις — σε εξουσιοδοτημένο lab — αν μια εφαρμογή σέβεται τα όρια πρόσβασης (access control):

Καρτέλα Repeater του Burp: ένα GET request προς /api/profile με τροποποιημένη παράμετρο id και η αντίστοιχη JSON απόκριση του server του lab
Καρτέλα Repeater του Burp: ένα GET request προς /api/profile με τροποποιημένη παράμετρο id και η αντίστοιχη JSON απόκριση του server του lab

Αν αλλάζοντας το id λαμβάνεις δεδομένα άλλου χρήστη, αυτό είναι ένδειξη IDOR (Insecure Direct Object Reference) — ένα κλασικό εύρημα broken access control. Στο lab το καταγράφουμε ως μάθημα· σε πραγματικό έργο θα ήταν εύρημα προς αναφορά και διόρθωση. Το Repeater σε μαθαίνει να σκέφτεσαι μία παράμετρο τη φορά.

4. Το εργαστηριακό περιβάλλον (isolated lab)

Όλα τα παραπάνω εκτελέστηκαν σε πλήρως απομονωμένο εργαστήριο, χωρίς καμία σύνδεση με το Internet ή με πραγματικά συστήματα τρίτων. Το σετ-απ αναπαράγεται εύκολα και δωρεάν:

  • Ένα Kali Linux VM ως σταθμός εργασίας, με το Burp Suite Community προεγκατεστημένο·
  • Ένα δεύτερο VM με μια απλή, ευάλωτη-εκ-σχεδιασμού web εφαρμογή (π.χ. DVWA ή OWASP Juice Shop) στο 10.10.10.20·
  • Ένα host-only δίκτυο (VirtualBox/VMware) στο εύρος 10.10.10.0/24, ώστε η κίνηση να μη βγαίνει ποτέ έξω·
  • Ρύθμιση του scope του Burp αποκλειστικά στον host του lab, με χρήση ουδέτερων διευθύνσεων (10.10.10.x) και sanitised output.

Έτσι πειραματίζεσαι ελεύθερα με intercept, history και Repeater χωρίς κανένα ρίσκο για τρίτους — και χωρίς να παραβιάζεις κανέναν νόμο.

5. Ηθικό & νομικό πλαίσιο

Η χρήση του Burp Suite για ανάλυση κίνησης είναι απολύτως νόμιμη μόνο σε συστήματα που σου ανήκουν ή για τα οποία έχεις ρητή, γραπτή εξουσιοδότηση (scope). Το να «πιάνεις» ή να τροποποιείς requests προς ξένους servers μπορεί να συνιστά αδίκημα βάσει του ελληνικού και ευρωπαϊκού δικαίου (π.χ. Ν. 4411/2016 για το κυβερνοέγκλημα, GDPR για τα δεδομένα, οδηγία NIS2).

Το πνεύμα αυτού του άρθρου είναι εκπαιδευτικό και αμυντικό: μαθαίνεις πώς ρέει η κίνηση web ώστε να προστατεύεις καλύτερα τις δικές σου εφαρμογές — σωστά security headers, αυστηροί έλεγχοι εξουσιοδότησης, παρακολούθηση logs για ανώμαλα patterns. Ο σωστός επαγγελματίας ορίζει πάντα το scope πριν ξεκινήσει και δουλεύει μέσα στο δικό του isolated lab.

6. Βασικά συμπεράσματα

  • Το Burp Suite Community λειτουργεί ως intercepting proxy ανάμεσα στον browser και τον server, ακούγοντας στο 127.0.0.1:8080.
  • Το Intercept σταματά ένα request για επιθεώρηση ή τροποποίηση: Forward, Drop, ή αποστολή στο Repeater.
  • Το HTTP history καταγράφει κάθε request που περνά από τον proxy — το σημείο εκκίνησης κάθε ανάλυσης.
  • Το Repeater επιτρέπει ελεγχόμενο πειραματισμό: μία παράμετρος τη φορά, με άμεση παρατήρηση της απόκρισης.
  • Το Target scope είναι όριο ασφαλείας και δεοντολογίας: όρισέ το ρητά πριν στείλεις οποιοδήποτε request.
  • Εξάσκηση μόνο σε isolated lab ή σε συστήματα με εξουσιοδότηση — η γνώση εδώ είναι για άμυνα, όχι για επίθεση.

Από τη θεωρία στην πράξη. Η Audax Cybersecurity προσφέρει επαγγελματικές υπηρεσίες offensive security — penetration testing & offensive validation — ενώ για όσους ξεκινούν το ταξίδι τους στο ethical hacking, το #1 ελληνικό βιβλίο «Ethical Hacking — Η Κρυφή Γνώση» είναι ο ιδανικός οδηγός.

Erevos AI · Managed CTEM

Θέλετε συνεχή επικύρωση της ασφάλειάς σας — όχι έλεγχο μία φορά τον χρόνο;

Το Erevos AI είναι η ετήσια, managed υπηρεσία CTEM της Audax — ενοποιεί exposure mapping, penetration testing, adversary emulation, detection validation & remediation σε έναν συνεχή, αποδεικτικό κύκλο. Human-led. Machine-scaled. Technically proven. Ευθυγραμμισμένο με NIS2 & DORA.

Ανακαλύψτε το Erevos AI →
Offensive Security · Penetration Testing

Χρειάζεστε Penetration Testing για τον οργανισμό σας;

Περιγράψτε το scope του ελέγχου μέσα από το δομημένο ερωτηματολόγιο και λάβετε εξατομικευμένη τεχνική & οικονομική προσφορά από την ομάδα Offensive Security της Audax. Χωρίς αυτόματη τιμή ή δέσμευση — η προσφορά αποστέλλεται μετά από τεχνική αξιολόγηση του scope.

Ζητήστε προσφορά Penetration Testing →