tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Kyk die volle besonderhede van hierdie tegniek in https://gynvael.coldwind.pl/download.php?f=PHP_LFI_rfc1867_temporary_files.pdf

PHP LĂȘer opgelaai

Wanneer 'n PHP enjin 'n POST versoek ontvang wat lĂȘers bevat wat volgens RFC 1867 geformateer is, genereer dit tydelike lĂȘers om die opgelaaide data te stoor. Hierdie lĂȘers is noodsaaklik vir lĂȘeroplaai hanteering in PHP-skripte. Die move_uploaded_file funksie moet gebruik word om hierdie tydelike lĂȘers na 'n gewenste ligging te verskuif indien volhoubare stoorplek buite die skrip se uitvoering benodig word. Na uitvoering, verwyder PHP outomaties enige oorblywende tydelike lĂȘers.

note

Sekuriteitswaarskuwing: Aanvallers, wat bewus is van die tydelike lĂȘers se ligging, mag 'n Local File Inclusion kwesbaarheid benut om kode uit te voer deur toegang tot die lĂȘer tydens opgelaai.

Die uitdaging vir ongemagtigde toegang lĂȘ in die voorspelling van die tydelike lĂȘer se naam, wat doelbewus gerandomiseer is.

Exploitatie op Windows Stelsels

Op Windows genereer PHP tydelike lĂȘernaam met die GetTempFileName funksie, wat 'n patroon soos <path>\<pre><uuuu>.TMP oplewer. Opmerklik:

  • Die standaard pad is tipies C:\Windows\Temp.
  • Die voorvoegsel is gewoonlik "php".
  • Die <uuuu> verteenwoordig 'n unieke hexadesimale waarde. Belangrik, as gevolg van die funksie se beperking, word slegs die laer 16 bits gebruik, wat 'n maksimum van 65,535 unieke name met konstante pad en voorvoegsel moontlik maak, wat brute force haalbaar maak.

Boonop is die eksploitasiestap vereenvoudig op Windows stelsels. 'n Eienaardigheid in die FindFirstFile funksie laat die gebruik van wildcard in Local File Inclusion (LFI) pades toe. Dit stel in staat om 'n insluitpad soos die volgende te skep om die tydelike lĂȘer te vind:

http://site/vuln.php?inc=c:\windows\temp\php<<

In sekere situasies mag 'n meer spesifieke masker (soos php1<< of phpA<<) benodig word. 'n Mens kan sistematies hierdie maskers probeer om die opgelaaide tydelike lĂȘer te ontdek.

Exploitatie op GNU/Linux Stelsels

Vir GNU/Linux stelsels is die ewekansigheid in tydelike lĂȘernaamgewing robuust, wat die name nie voorspelbaar of vatbaar vir brute force-aanvalle maak nie. Verdere besonderhede kan in die verwysde dokumentasie gevind word.

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks