AWS Hacking'i öğrenin ve uygulayın:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin**.
Eğer bir **Yerel Dosya Dahil Etme** bulduysanız ve **bir oturumunuz yoksa** ve `session.auto_start``Off` ise bile. Eğer **`session.upload_progress.enabled`** **`On`** ise ve **`PHP_SESSION_UPLOAD_PROGRESS`**'i **multipart POST** verilerinde sağlarsanız, PHP **oturumu sizin için etkinleştirecektir**.
**`PHP_SESSION_UPLOAD_PROGRESS`** ile **oturum içindeki verileri kontrol edebilirsiniz**, bu nedenle oturum dosyanızı dahil ederseniz kontrol ettiğiniz bir bölümü dahil edebilirsiniz (örneğin bir php kabuk kodu).
İnternet üzerindeki çoğu öğretici, hata ayıklama amacıyla `session.upload_progress.cleanup`'ı`Off` olarak ayarlamanızı önerse de, PHP'deki varsayılan `session.upload_progress.cleanup` hala `On` dur. Bu, oturumdaki yükleme ilerlemenizin mümkün olan en kısa sürede temizleneceği anlamına gelir. Bu nedenle bu bir **Yarış Koşulu** olacaktır.
Bu tekniğin yorumlandığı [**orijinal CTF**](https://blog.orange.tw/2018/10/) 'de, Yarış Koşulunu sömürmek yeterli olmadı, ayrıca yüklenen içeriğin `@<?php` dizesiyle başlaması gerekiyordu.
`session.upload_progress.prefix`'in varsayılan ayarı nedeniyle, **OTURUM dosyamız can sıkıcı bir önekle başlayacak**`upload_progress_` Örneğin: `upload_progress_controlledcontentbyattacker`
Başlangıç önekini **kaldırmak için** hileyi **payload'ı 3 kez base64encode etmek** ve ardından `convert.base64-decode` filtreleri aracılığıyla kodlamak oldu, çünkü **base64 kodunu çözerken PHP garip karakterleri kaldıracaktır**, bu nedenle 3 kezden sonra **sadece** saldırgan tarafından **gönderilen payload****kalacak** (ve ardından saldırgan başlangıç kısmı kontrol edebilecektir).
Daha fazla bilgi için orijinal yazıda [https://blog.orange.tw/2018/10/](https://blog.orange.tw/2018/10/) ve nihai saldırı [https://github.com/orangetw/My-CTF-Web-Challenges/blob/master/hitcon-ctf-2018/one-line-php-challenge/exp\_for\_php.py](https://github.com/orangetw/My-CTF-Web-Challenges/blob/master/hitcon-ctf-2018/one-line-php-challenge/exp\_for\_php.py)\
Başka bir yazıda [https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/](https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/)
AWS Hacking öğrenin ve uygulayın:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Eğitim AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking öğrenin ve uygulayın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Eğitim GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarını paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.