hacktricks/pentesting-web/file-inclusion/lfi2rce-via-temp-file-uploads.md
Translator workflow 35c6b081d2 Translated to Greek
2024-02-10 22:40:18 +00:00

60 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
**Ελέγξτε τις πλήρεις λεπτομέρειες αυτής της τεχνικής στο [https://gynvael.coldwind.pl/download.php?f=PHP\_LFI\_rfc1867\_temporary\_files.pdf](https://gynvael.coldwind.pl/download.php?f=PHP\_LFI\_rfc1867\_temporary\_files.pdf)**
## **Μεταφόρτωση αρχείων PHP**
Όταν ένας μηχανισμός **PHP** λαμβάνει ένα **POST αίτημα** που περιέχει αρχεία μορφοποιημένα σύμφωνα με το RFC 1867, δημιουργεί προσωρινά αρχεία για να αποθηκεύσει τα μεταφορτωμένα δεδομένα. Αυτά τα αρχεία είναι κρίσιμα για την χειρισμό της μεταφόρτωσης αρχείων σε σενάρια PHP. Η συνάρτηση `move_uploaded_file` πρέπει να χρησιμοποιηθεί για να μετακινήσει αυτά τα προσωρινά αρχεία σε μια επιθυμητή τοποθεσία, εάν απαιτείται μόνιμη αποθήκευση πέρα ​​από την εκτέλεση του σεναρίου. Μετά την εκτέλεση, το PHP διαγράφει αυτόματα οποιαδήποτε προσωρινά αρχεία παραμένουν.
{% hint style="info" %}
**Προειδοποίηση Ασφαλείας: Οι επιτιθέμενοι, γνωρίζοντας την τοποθεσία των προσωρινών αρχείων, μπορεί να εκμεταλλευτούν μια ευπάθεια Τοπικής Ενσωμάτωσης Αρχείου (LFI) για να εκτελέσουν κώδικα αποκτώντας πρόσβαση στο αρχείο κατά τη μεταφόρτωση.
{% endhint %}
Η πρόκληση για την μη εξουσιοδοτημένη πρόσβαση βρίσκεται στο να προβλέψετε το όνομα του προσωρινού αρχείου, το οποίο είναι προαιρετικά τυχαίο.
#### Εκμετάλλευση σε Συστήματα Windows
Στα Windows, το PHP δημιουργεί ονόματα προσωρινών αρχείων χρησιμοποιώντας τη συνάρτηση `GetTempFileName`, με αποτέλεσμα ένα πρότυπο όπως `<path>\<pre><uuuu>.TMP`. Συγκεκριμένα:
- Η προεπιλεγμένη διαδρομή είναι συνήθως `C:\Windows\Temp`.
- Το πρόθεμα είναι συνήθως "php".
- Το `<uuuu>` αντιπροσωπεύει μια μοναδική δεκαεξαδική τιμή. Κρίσιμο είναι ότι λόγω του περιορισμού της συνάρτησης, χρησιμοποιούνται μόνο τα χαμηλότερα 16 bits, επιτρέποντας ένα μέγιστο αριθμό 65.535 μοναδικών ονομάτων με σταθερή διαδρομή και πρόθεμα, καθιστώντας εφικτή τη βίαιη επίθεση.
Επιπλέον, η διαδικασία εκμετάλλευσης απλοποιείται σε συστήματα Windows. Μια ιδιαιτερότητα στη συνάρτηση `FindFirstFile` επιτρέπει τη χρήση μπαλαντέρ σε διαδρομές Τοπικής Ενσωμάτωσης Αρχείου (LFI). Αυτό επιτρέπει τη δημιουργία μιας διαδρομής περιλαμβάνοντας το παρακάτω για να εντοπίσει το προσωρινό αρχείο:
```
http://site/vuln.php?inc=c:\windows\temp\php<<
```
Σε ορισμένες περιπτώσεις, μπορεί να απαιτηθεί μια πιο συγκεκριμένη μάσκα (όπως `php1<<` ή `phpA<<`). Μπορεί κανείς να δοκιμάσει συστηματικά αυτές τις μάσκες για να ανακαλύψει το ανεβασμένο προσωρινό αρχείο.
#### Εκμετάλλευση σε συστήματα GNU/Linux
Για συστήματα GNU/Linux, η τυχαιότητα στην ονομασία των προσωρινών αρχείων είναι ανθεκτική, καθιστώντας τα ονόματα ανεκτά ούτε προβλέψιμα ούτε ευάλωτα σε επιθέσεις με βία. Περισσότερες λεπτομέρειες μπορούν να βρεθούν στην αναφερόμενη τεκμηρίωση.
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>