# LFI2RCE μέσω PHP\_SESSION\_UPLOAD\_PROGRESS
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο Hacking του AWS:[**Εκπαίδευση HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Μάθετε & εξασκηθείτε στο Hacking του GCP: [**Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Υποστηρίξτε το HackTricks
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε** 💬 [**στην ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα χάκερ κάνοντας υποβολή PRs** στα αποθετήρια [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο GitHub.
{% endhint %}
## Βασικές Πληροφορίες
Αν βρήκατε μια **Ενσωμάτωση Τοπικού Αρχείου (LFI)** ακόμα κι αν **δεν έχετε μια συνεδρία** και το `session.auto_start` είναι `Off`. Αν το **`session.upload_progress.enabled`** είναι **`On`** και παρέχετε το **`PHP_SESSION_UPLOAD_PROGRESS`** στα **δεδομένα POST multipart**, το PHP θα **ενεργοποιήσει τη συνεδρία για εσάς**.
```bash
$ curl http://127.0.0.1/ -H 'Cookie: PHPSESSID=iamorange'
$ ls -a /var/lib/php/sessions/
. ..
$ curl http://127.0.0.1/ -H 'Cookie: PHPSESSID=iamorange' -d 'PHP_SESSION_UPLOAD_PROGRESS=blahblahblah'
$ ls -a /var/lib/php/sessions/
. ..
$ curl http://127.0.0.1/ -H 'Cookie: PHPSESSID=iamorange' -F 'PHP_SESSION_UPLOAD_PROGRESS=blahblahblah' -F 'file=@/etc/passwd'
$ ls -a /var/lib/php/sessions/
. .. sess_iamorange
In the last example the session will contain the string blahblahblah
```
Σημειώστε ότι με το **`PHP_SESSION_UPLOAD_PROGRESS`** μπορείτε να **ελέγξετε τα δεδομένα μέσα στη συνεδρία**, οπότε αν συμπεριλάβετε το αρχείο συνεδρίας σας μπορείτε να συμπεριλάβετε ένα τμήμα που ελέγχετε (έναν κωδικό κέλυφους php για παράδειγμα).
{% hint style="info" %}
Αν και τα περισσότερα εγχειρίδια στο Διαδίκτυο σας συνιστούν να ορίσετε το `session.upload_progress.cleanup` σε `Off` για σκοπούς εντοπισμού σφαλμάτων. Η προεπιλεγμένη τιμή του `session.upload_progress.cleanup` στο PHP παραμένει `On`. Αυτό σημαίνει ότι το πρόοδος μεταφόρτωσης στη συνεδρία θα καθαριστεί το συντομότερο δυνατό. Έτσι αυτό θα είναι **Συνθήκη Αγώνα**.
{% endhint %}
### Το CTF
Στο [**πρωτότυπο CTF**](https://blog.orange.tw/2018/10/) όπου σχολιάζεται αυτή η τεχνική, δεν ήταν αρκετό να εκμεταλλευτείτε τη Συνθήκη Αγώνα, αλλά το περιεχόμενο που φορτώθηκε έπρεπε επίσης να ξεκινήσει με τη συμβολοσειρά `@[**Εκπαίδευση HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Μάθετε & εξασκηθείτε στο Χάκινγκ του GCP: [**Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Υποστηρίξτε το HackTricks
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε** 💬 στην [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε χάκινγκ τεχνικές υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
{% endhint %}