Papadope Course
EN | ΕΛ

Μάθημα 4 - Βασικά HTTP και Web Εργαλεία

Μάθημα 4 - Βασικά HTTP και Web Εργαλεία (29/11/25)

Κατανόηση του πώς λειτουργεί η web επικοινωνία και απαραίτητες γνώσεις για pentesting.

Επόμενο μάθημα: Θα ανακοινωθεί


Πώς Λειτουργεί η Web Επικοινωνία

Κύκλος HTTP Αίτημα-Απάντηση

🔍 Απλή εξήγηση: Φαντάσου ότι μιλάς με έναν σερβιτάρ σε εστιατόριο.

  1. Ο πελάτης στέλνει HTTP Αίτημα

    • Μέθοδος: Τι θέλεις να κάνεις (GET=παραγγέλνεις, POST=στείλεις δεδομένα)
    • URL: Ποιο πιάτο θέλεις από το μενού
    • Κεφαλίδες: Πληροφορίες για εσένα (π.χ. "είμαι αλλεργικός σε φιστίκια")
    • Σώμα: Επιπλέον πληροφορίες (π.χ. "χωρίς κρεμμύδια")
  2. Ο διακομιστής επεξεργάζεται το αίτημα

    • Αναλύει το αίτημα: Διαβάζει τι ζήτησες
    • Ελέγχει την ταυτότητα: Ελέγχει αν είσαι πελάτης
    • Εκτελεί επιχειρηματική λογική: Πηγαίνει στην κουζίνα
    • Προσπελαύνει βάση δεδομένων/αρχεία: Βρίσκει τα υλικά
  3. Ο διακομιστής στέλνει 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: Θεμέλια

  1. Κατανόηση HTTP

    • Κύκλος αιτήματος/απάντησης: Πώς λειτουργεί το web
    • Κεφαλίδες και ο σκοπός τους: Πληροφορίες επικοινωνίας
    • Κωδικοί κατάστασης: Τι σημαίνουν οι αριθμοί
  2. Βασικές Τεχνολογίες Web

    • Δομή HTML: Πώς δομούνται οι σελίδες
    • Βασικά JavaScript: Δυναμική συμπεριφορά
    • Κατανόηση CSS: Στυλ και εμφάνιση
    • Μορφή δεδομένων JSON: Πώς ανταλλάσσονται δεδομένα
  3. Βασικά Δικτύωσης

    • Επίλυση DNS: Πώς τα ονόματα γίνονται διευθύνσεις
    • Βασικά TCP/IP: Πώς ταξιδεύουν τα δεδομένα
    • Έννοιες SSL/TLS: Πώς λειτουργεί η κρυπτογράφηση

Προτεραιότητα 2: Πρακτικές Δεξιότητες

  1. Χρήση Εργαλείων

    • Εργαλεία προγραμματιστή: F12, Κονσόλα, καρτέλα Δικτύου
    • Εργαλεία proxy: Burp Suite, OWASP ZAP για να βλέπεις την κίνηση
    • Ανάλυση δικτύου: Wireshark για βαθιά ανάλυση πακέτων
  2. Μεθοδολογία Ελέγχου

    • Συλλογή πληροφοριών: Πρώτα βρες τι υπάρχει
    • Σάρωση ευπαθειών: Αυτοματοποιημένοι έλεγχοι για γνωστά προβλήματα
    • Χειροκίνητες τεχνικές: Δημιουργικός έλεγχος

🎓 Διαδρομή Μάθησης για Αρχάριους

Ξεκινήστε εδώ (1-2 μήνες):

  1. Ολοκληρώστε τα βασικά web - Βασικά HTML, CSS, JavaScript
  2. Μάθετε HTTP σε βάθος - Πώς λειτουργούν τα αιτήματα/απαντήσεις
  3. Εξασκηθείτε με εργαλεία προγράμματος περιήγησης - Κατακτήστε τα εργαλεία προγραμματιστή F12
  4. Κατανοήστε κοινές ευπάθειες - Διαβάστε για το OWASP Top 10

Επόμενα βήματα (2-4 μήνες):

  1. Μάθετε ένα εργαλείο pentesting - Ξεκινήστε με το Burp Suite Community Edition
  2. Εξασκηθείτε σε νόμιμες πλατφόρμες - HackTheBox, TryHackMe, PortSwigger Academy
  3. Μελετήστε την ταυτοποίηση - Πώς λειτουργούν και αποτυγχάνουν τα συστήματα σύνδεσης
  4. Μάθετε βασικό scripting - Python ή Bash για αυτοματοποίηση

🎯 Αφού κατακτήσετε τα θεμέλια:

  • Μελετήστε συγκεκριμένες κλάσεις ευπαθειών σε βάθος - SSRF, XXE, Deserialization
  • Μάθετε για web application firewalls - Πώς λειτουργούν και πώς να τα παρακάμψετε
  • Κατανοήστε έννοιες ασφάλειας cloud - Ασφάλεια AWS, Azure, GCP
  • Εξερευνήστε την ασφάλεια εφαρμογών για κινητά - Pentesting iOS, Android
  • Εξασκηθείτε σε πραγματικούς στόχους (νομίμως!) - Bug bounty, εξουσιοδοτημένος έλεγχος

💡 Συμβουλή για Αρχάριους: Ξεκινήστε αργά, να είστε υπομονετικοί, και μην σταματήσετε ποτέ να μαθαίνετε. Η ασφάλεια web είναι ένα τεράστιο πεδίο - κανείς δεν τα ξέρει όλα!


💬 Γίνε μέλος της Discord κοινότητάς μας: https://discord.gg/CVpyqCek