Kembali ke Roadmap
// PHASE 4 · Deserialization Attacks

Deserialization Attacks

Apa Itu Deserialization Attack?

Deserialization adalah proses mengubah data serial (string/bytes) kembali menjadi objek. Jika data yang di-deserialize tidak divalidasi, attacker bisa membuat objek berbahaya yang mengeksekusi kode.

PHP Deserialization

// Serialize object $obj = new User("rizky", "admin"); echo serialize($obj); // Output: O:4:"User":2:{s:4:"name";s:5:"rizky";s:4:"role";s:5:"admin";} // Payload berbahaya — ubah role O:4:"User":2:{s:4:"name";s:5:"rizky";s:4:"role";s:5:"admin";}

PHP Magic Methods yang Dieksploitasi

__wakeup() ← dipanggil saat deserialize __destruct() ← dipanggil saat objek dihapus dari memory __toString() ← dipanggil saat objek dikonversi ke string

Cara Menemukan

# Ciri PHP serialized object di cookie/parameter Tzo0OiJVc2VyIjoy... ← base64 dari O:4:"User":... # Decode dan analisis echo "Tzo0OiJVc2VyIjoy..." | base64 -d

Tools

// CEK PEMAHAMAN
PHP magic method mana yang paling sering dieksploitasi dalam deserialization attack?
A__construct()
B__wakeup()
C__sleep()
D__clone()
Race Conditions Template Injection (SSTI)