hackweb
appunti di hacking e tecnologia
IT EN
menù principale
menù utente
non sei loggato

Deserializzazione insicura: oggetti che eseguono codice

15 gennaio 2026 · 1 min di lettura · #web #deserialization #rce

Serializzare trasforma un oggetto in byte; deserializzare lo ricostruisce. Se i byte arrivano dall'utente, controlli quali oggetti nascono e con quali proprietà.

PHP: i metodi magici

unserialize($_COOKIE['data']) istanzia oggetti. Metodi come __wakeup() e __destruct() girano automaticamente. Una POP chain concatena classi presenti nel codebase finché una esegue qualcosa di utile (scrittura file, chiamata di sistema).

O:4:"Evil":1:{s:3:"cmd";s:2:"id";}

Difesa

Non deserializzare dati non fidati. Usa formati dati (JSON) invece di serializzazione di oggetti. Se obbligatorio, firma i dati (HMAC) e verifica prima di deserializzare, oppure usa allowlist di classi (unserialize($s, ['allowed_classes'=>false])).


« torna alla home

ultimi post
 
il tuo indirizzo IP:
216.73.216.108
visitatore #1
MOTD:
Ogni astrazione perde da qualche parte.
Qui guardiamo dove.
argomenti