Leer & oefen AWS-hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Leer & oefen GCP-hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Controleer die [**inskrywingsplanne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
As jy 'n **Plaaslike Lêer Insluiting** gevind het selfs as jy **nie 'n sessie het** en `session.auto_start` is `Off`. As **`session.upload_progress.enabled`** is **`On`** en jy die **`PHP_SESSION_UPLOAD_PROGRESS`** in **multipart POST** data voorsien, sal PHP die sessie vir jou **aktiveer**.
Merk op dat met **`PHP_SESSION_UPLOAD_PROGRESS`** jy **data binne die sessie kan beheer**, so as jy jou sessie lêer insluit, kan jy 'n deel insluit wat jy beheer (byvoorbeeld 'n php shellcode).
Alhoewel die meeste tutoriale op die internet aanbeveel om `session.upload_progress.cleanup` op `Off` te stel vir die doel van foutopsporing. Die verstekwaarde vir `session.upload_progress.cleanup` in PHP is steeds `On`. Dit beteken dat jou oplaai-vordering in die sessie so gou as moontlik skoongemaak sal word. Dit sal dus **Race Condition** wees.
In die [**oorspronklike CTF**](https://blog.orange.tw/2018/10/) waar hierdie tegniek gekommentaar is, was dit nie genoeg om die Race Condition te benut nie, maar die inhoud wat gelaai moes word, moes ook begin met die string `@<?php`.
As gevolg van die verstekinstelling van `session.upload_progress.prefix`, sal ons **SESSIE-lêer begin met 'n irriterende voorvoegsel**`upload_progress_` Soos: `upload_progress_controlledcontentbyattacker`
Die truuk om **die aanvanklike voorvoegsel te verwyder** was om **die lading 3 keer te base64-enkode** en dit dan te dekodeer via `convert.base64-decode` filters, dit is omdat wanneer **base64 dekodeer PHP die vreemde karakters sal verwyder**, so na 3 keer sal slegs die **lading****gestuur** deur die aanvaller **oorbly** (en dan kan die aanvaller die aanvanklike deel beheer).
Meer inligting in die oorspronklike skryfstuk [https://blog.orange.tw/2018/10/](https://blog.orange.tw/2018/10/) en finale uitbuiting [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)\
'n Ander skryfstuk in [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/)
* Kontroleer die [**inskrywingsplanne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.