Μάθημα 4 - Βασικά HTTP και Web Εργαλεία
Μάθημα 4 - Βασικά HTTP και Web Εργαλεία (29/11/25)
Κατανόηση του πώς λειτουργεί η web επικοινωνία και απαραίτητες γνώσεις για pentesting.
Επόμενο μάθημα: Θα ανακοινωθεί
Πώς Λειτουργεί η Web Επικοινωνία
Κύκλος HTTP Αίτημα-Απάντηση
🔍 Απλή εξήγηση: Φαντάσου ότι μιλάς με έναν σερβιτάρ σε εστιατόριο.
-
Ο πελάτης στέλνει HTTP Αίτημα
- Μέθοδος: Τι θέλεις να κάνεις (GET=παραγγέλνεις, POST=στείλεις δεδομένα)
- URL: Ποιο πιάτο θέλεις από το μενού
- Κεφαλίδες: Πληροφορίες για εσένα (π.χ. "είμαι αλλεργικός σε φιστίκια")
- Σώμα: Επιπλέον πληροφορίες (π.χ. "χωρίς κρεμμύδια")
-
Ο διακομιστής επεξεργάζεται το αίτημα
- Αναλύει το αίτημα: Διαβάζει τι ζήτησες
- Ελέγχει την ταυτότητα: Ελέγχει αν είσαι πελάτης
- Εκτελεί επιχειρηματική λογική: Πηγαίνει στην κουζίνα
- Προσπελαύνει βάση δεδομένων/αρχεία: Βρίσκει τα υλικά
-
Ο διακομιστής στέλνει HTTP Απάντηση
- Κωδικός κατάστασης: 200=Εντάξει, 404=Δεν βρέθηκε, 500=Πρόβλημα στην κουζίνα
- Κεφαλίδες: Πληροφορίες για το φαγητό (π.χ. "καυτό", "χωρίς γλουτένη")
- Σώμα: Το φαγητό που παρήγγειλες
Βασικά Στοιχεία
Δομή URL:
https://example.com:443/path/to/resource?param=value#section
└─Πρωτόκολλο─┘ └─Όνομα─┘ └─Θύρα─┘ └─Διαδρομή─┘ └─Παράμετροι─┘ └─Τμήμα─┘
📝 Απλή εξήγηση:
- Πρωτόκολλο: Πώς θα επικοινωνήσουμε (https=ασφαλές, http=μη ασφαλές)
- Όνομα κεντρικού υπολογιστή: Το όνομα του εστιατορίου
- Θύρα: Η πόρτα που θα μπεις (443=ασφαλής, 80=κανονική)
- Διαδρομή: Το τμήμα του μενού
- Παράμετροι ερωτήματος: Ειδικές επιλογές (π.χ. "με πατάτες")
- Τμήμα: Σε ποιο σημείο της σελίδας να πας
Απαραίτητοι Κωδικοί Κατάστασης HTTP για Pentesters
🎯 Γιατί είναι σημαντικοί: Οι κωδικοί κατάστασης σου λένε αν η ενέργειά σου πέτυχε ή απέτυχε. Στο pentesting, λάθος κωδικοί αποκαλύπτουν ευπάθειες!
Κωδικοί Επιτυχίας 2xx
| Κωδικός | Σημασία | Σχετικότητα Pentesting |
|---|---|---|
| 200 | Εντάξει | ✅ Το αίτημα πέτυχε - κανονική λειτουργία |
| 201 | Δημιουργήθηκε | ✅ Δημιουργήθηκε νέος πόρος (π.χ. νέος χρήστης) |
| 204 | Χωρίς Περιεχόμενο | ✅ Επιτυχία αλλά χωρίς απάντηση (π.χ. διαγραφή) |
| 202 | Αποδεκτό | ✅ Δέχτηκε το αίτημα αλλά το επεξεργάζεται |
Κωδικοί Ανακατεύθυνσης 3xx
| Κωδικός | Σημασία | Σχετικότητα Pentesting |
|---|---|---|
| 301 | Μετακινήθηκε Μόνιμα | 🔄 Μόνιμη μετακίνηση - επίπτωση SEO |
| 302 | Βρέθηκε | 🔄 Προσωρινή ανακατεύθυνση - μπορεί να εκμεταλλευτεί |
| 307 | Προσωρινή Ανακατεύθυνση | 🔄 Κρατάει τη μέθοδο - σημαντικό για POST |
| 308 | Μόνιμη Ανακατεύθυνση | 🔄 Μόνιμη + κρατάει μέθοδο - μοντέρνα εναλλακτική |
Κωδικοί Σφάλματος Πελάτη 4xx
| Κωδικός | Σημασία | Σχετικότητα Pentesting |
|---|---|---|
| 400 | Εσφαλμένο Αίτημα | ❌ Λάθος αίτημα - δοκίμασε διαφορετικές εισόδους |
| 401 | Μη Εξουσιοδοτημένο | ❌ Χρειάζεται σύνδεση - δοκίμασε παράκαμψη |
| 403 | Απαγορευμένο | ❌ Άρνηση πρόσβασης - δοκίμασε διαφορετικό χρήστη |
| 404 | Δεν Βρέθηκε | ❌ Δεν υπάρχει - έλεγξε για διαρροή πληροφοριών |
| 405 | Μη Επιτρεπόμενη Μέθοδος | ❌ Η μέθοδος HTTP δεν υποστηρίζεται |
| 408 | Λήξη Χρονικού Ορίου Αιτήματος | ❌ Έληξε - δοκίμασε επίθεση DoS |
| 429 | Πάρα Πολλά Αιτήματα | ❌ Περιορισμός ρυθμού - βρες παράκαμψη |
Κωδικοί Σφάλματος Διακομιστή 5xx
| Κωδικός | Σημασία | Σχετικότητα Pentesting |
|---|---|---|
| 500 | Εσωτερικό Σφάλμα Διακομιστή | 💥 Γενικό σφάλμα διακομιστή - ψάξε για διαρροές πληροφοριών |
| 501 | Δεν Υλοποιήθηκε | 💥 Το χαρακτηριστικό δεν υποστηρίζεται |
| 502 | Εσφαλμένη Πύλη | 💥 Σφάλμα διακομιστή πύλης |
| 503 | Μη Διαθέσιμη Υπηρεσία | 💥 Ο διακομιστής είναι κάτω - δοκίμασε DoS |
| 504 | Λήξη Χρονικού Ορίου Πύλης | 💥 Λήξη backend - δοκίμασε DoS |
Κοινές Θύρες Web και οι Υπηρεσίες τους
🚪 Τι είναι οι θύρες: Σαν τις πόρτες σε κτίριο - κάθε πόρτα οδηγεί σε διαφορετικό δωμάτιο/υπηρεσία!
Τυπικές Θύρες Web
| Θύρα | Πρωτόκολλο | Υπηρεσία | Σημειώσεις Pentesting |
|---|---|---|---|
| 80 | HTTP | Μη κρυπτογραφημένη κίνηση web | 🔍 Έλεγχος για δεδομένα σε απλό κείμενο |
| 443 | HTTPS | Κρυπτογραφημένη κίνηση web | 🔍 Έλεγχος SSL/TLS, ανάλυση πιστοποιητικών |
| 8080 | HTTP | Εναλλακτική HTTP | 🔍 Συχνά για πίνακες διαχείρισης, διακομιστές ανάπτυξης |
| 8443 | HTTPS | Εναλλακτική HTTPS | 🔍 Συχνά για πίνακες διαχείρισης, διακομιστές ανάπτυξης |
Θύρες Ανάπτυξης/Διαχείρισης
| Θύρα | Πρωτόκολλο | Υπηρεσία | Σημειώσεις Pentesting |
|---|---|---|---|
| 3000 | HTTP | Διακομιστής ανάπτυξης Node.js | 🔍 Συνηθισμένο σε περιβάλλοντα ανάπτυξης |
| 5000 | HTTP | Ανάπτυξη Flask/Django | 🔍 Εφαρμογές web Python |
| 8000 | HTTP | Διακομιστής ανάπτυξης Django | 🔍 Εφαρμογές Python |
| 9000 | HTTP | Διάφορες υπηρεσίες | 🔍 Συχνά για διεπαφές διαχείρισης |
Θύρες API/Web Services
| Θύρα | Πρωτόκολλο | Υπηρεσία | Σημειώσεις Pentesting |
|---|---|---|---|
| 8081 | HTTP | Εναλλακτική web | 🔍 Πιθανά σημεία API |
| 9090 | HTTP | Διάφορες υπηρεσίες | 🔍 Συχνά για εργαλεία παρακολούθησης |
| 9443 | HTTPS | Εναλλακτική HTTPS | 🔍 Ασφαλείς διεπαφές διαχείρισης |
Απαραίτητες Γνώσεις Web Pentesting για Αρχάριους
🎯 Γιατί έχει σημασία: Αυτά είναι τα "εργαλεία" σου για να βρεις αδυναμίες σε ιστοσελίδες!
1. Κατανόηση Μεθόδων HTTP
- GET: Ανάκτηση δεδομένων (Ισοδύναμο - ίδιο αποτέλεσμα κάθε φορά)
- POST: Αποστολή δεδομένων (Δημιουργεί νέους πόρους)
- PUT: Ενημέρωση/αντικατάσταση δεδομένων
- DELETE: Διαγραφή πόρων
- PATCH: Μερικές ενημερώσεις
- OPTIONS: Διαθέσιμες μέθοδοι
- HEAD: Μόνο κεφαλίδες (Σαν GET χωρίς σώμα)
2. Συνήθεις Τύποι Ευπαθειών
Ευπάθειες Εγχύρησης:
- SQL Injection:
admin' OR '1'='1'(Εισάγεις κώδικα SQL σε φόρμες) - XSS:
<script>alert(1)</script>(Εισάγεις JavaScript σε σελίδες) - Command Injection:
; ls -la(Εκτελείς εντολές συστήματος)
Θέματα Ταυτοποίησης:
- Αδύναμοι κωδικοί πρόσβασης: Εύκολοι στην πρόβλεψη κωδικοί
- Προεπιλεγμένα διαπιστευτήρια: Προεπιλεγμένα στοιχεία σύνδεσης
- Καθορισμός συνεδρίας: Κλείδωμα συνεδρίας
- Ευπάθειες JWT: Προβλήματα με tokens JWT
Θέματα Εξουσιοδότησης:
- Οριζόντια κλιμάκωση προνομίων: Πρόσβαση σε δεδομένα άλλων χρηστών
- Κάθετη κλιμάκωση προνομίων: Πρόσβαση σε λειτουργίες διαχειριστή
- IDOR: Άμεση πρόσβαση σε αναφορά αντικειμένου
Σε Τι Πρέπει να Επικεντρωθούν οι Αρχάριοι
Προτεραιότητα 1: Θεμέλια
-
Κατανόηση HTTP
- Κύκλος αιτήματος/απάντησης: Πώς λειτουργεί το web
- Κεφαλίδες και ο σκοπός τους: Πληροφορίες επικοινωνίας
- Κωδικοί κατάστασης: Τι σημαίνουν οι αριθμοί
-
Βασικές Τεχνολογίες Web
- Δομή HTML: Πώς δομούνται οι σελίδες
- Βασικά JavaScript: Δυναμική συμπεριφορά
- Κατανόηση CSS: Στυλ και εμφάνιση
- Μορφή δεδομένων JSON: Πώς ανταλλάσσονται δεδομένα
-
Βασικά Δικτύωσης
- Επίλυση DNS: Πώς τα ονόματα γίνονται διευθύνσεις
- Βασικά TCP/IP: Πώς ταξιδεύουν τα δεδομένα
- Έννοιες SSL/TLS: Πώς λειτουργεί η κρυπτογράφηση
Προτεραιότητα 2: Πρακτικές Δεξιότητες
-
Χρήση Εργαλείων
- Εργαλεία προγραμματιστή: F12, Κονσόλα, καρτέλα Δικτύου
- Εργαλεία proxy: Burp Suite, OWASP ZAP για να βλέπεις την κίνηση
- Ανάλυση δικτύου: Wireshark για βαθιά ανάλυση πακέτων
-
Μεθοδολογία Ελέγχου
- Συλλογή πληροφοριών: Πρώτα βρες τι υπάρχει
- Σάρωση ευπαθειών: Αυτοματοποιημένοι έλεγχοι για γνωστά προβλήματα
- Χειροκίνητες τεχνικές: Δημιουργικός έλεγχος
🎓 Διαδρομή Μάθησης για Αρχάριους
Ξεκινήστε εδώ (1-2 μήνες):
- Ολοκληρώστε τα βασικά web - Βασικά HTML, CSS, JavaScript
- Μάθετε HTTP σε βάθος - Πώς λειτουργούν τα αιτήματα/απαντήσεις
- Εξασκηθείτε με εργαλεία προγράμματος περιήγησης - Κατακτήστε τα εργαλεία προγραμματιστή F12
- Κατανοήστε κοινές ευπάθειες - Διαβάστε για το OWASP Top 10
Επόμενα βήματα (2-4 μήνες):
- Μάθετε ένα εργαλείο pentesting - Ξεκινήστε με το Burp Suite Community Edition
- Εξασκηθείτε σε νόμιμες πλατφόρμες - HackTheBox, TryHackMe, PortSwigger Academy
- Μελετήστε την ταυτοποίηση - Πώς λειτουργούν και αποτυγχάνουν τα συστήματα σύνδεσης
- Μάθετε βασικό scripting - Python ή Bash για αυτοματοποίηση
🎯 Αφού κατακτήσετε τα θεμέλια:
- Μελετήστε συγκεκριμένες κλάσεις ευπαθειών σε βάθος - SSRF, XXE, Deserialization
- Μάθετε για web application firewalls - Πώς λειτουργούν και πώς να τα παρακάμψετε
- Κατανοήστε έννοιες ασφάλειας cloud - Ασφάλεια AWS, Azure, GCP
- Εξερευνήστε την ασφάλεια εφαρμογών για κινητά - Pentesting iOS, Android
- Εξασκηθείτε σε πραγματικούς στόχους (νομίμως!) - Bug bounty, εξουσιοδοτημένος έλεγχος
💡 Συμβουλή για Αρχάριους: Ξεκινήστε αργά, να είστε υπομονετικοί, και μην σταματήσετε ποτέ να μαθαίνετε. Η ασφάλεια web είναι ένα τεράστιο πεδίο - κανείς δεν τα ξέρει όλα!
💬 Γίνε μέλος της Discord κοινότητάς μας: https://discord.gg/CVpyqCek