phar:// deserialization
Savet za bug bounty: registrujte se za Intigriti, premium platformu za bug bounty kreiranu od hakera, za hakere! Pridružite nam se na https://go.intigriti.com/hacktricks danas, i počnite da zarađujete nagrade do $100,000!
Phar fajlovi (PHP Archive) sadrže metapodatke u serijskom formatu, tako da, kada se parsiraju, ovi metapodaci se deserijalizuju i možete pokušati da iskoristite ranjivost deserijalizacije unutar PHP koda.
Najbolja stvar u vezi sa ovom karakteristikom je što će se ova deserijalizacija dogoditi čak i kada se koriste PHP funkcije koje ne izvršavaju PHP kod poput file_get_contents(), fopen(), file() ili file_exists(), md5_file(), filemtime() ili filesize().
Zamislite situaciju u kojoj možete naterati PHP veb da dobije veličinu proizvoljnog fajla koristeći phar://
protokol, i unutar koda pronađete klasu sličnu sledećoj:
Možete kreirati phar fajl koji će, kada se učita, zloupotrebiti ovu klasu da izvrši proizvoljne komande nečim poput:
Primetite kako su magični bajtovi JPG (\xff\xd8\xff
) dodati na početak phar fajla kako bi se izbegle moguće restrikcije uploadovanja fajlova.
Kompajlujte fajl test.phar
sa:
I izvršite whoami
komandu zloupotrebljavajući ranjiv kod sa:
Reference
Savet za bug bounty: Prijavite se za Intigriti, premium platformu za bug bounty kreiranu od hakera, za hakere! Pridružite nam se na https://go.intigriti.com/hacktricks danas i počnite da zarađujete nagrade do $100,000!
Last updated