Hunt PHP object injection at every unserialize

Every unserialize() on external data is a candidate. The impact depends on which classes are loadable and whether any implement __destruct, __wakeup, or __toString that touch dangerous operations.

bash
grep -rEn "unserializes*(" --include=*.php . | grep -vi 'json'
grep -rEn "function __(destruct|wakeup|toString|call)" --include=*.php .

Then look for a gadget: a magic method that reaches file writes, SQL, or eval.

php
class Cache { public $file; public $data;
  function __destruct(){ file_put_contents($this->file,$this->data); } } // POP sink

Pro note: phpggc catalogs known chains for common frameworks, so check the composer.lock for Laravel, Symfony, or Monolog versions with published gadgets. Also flag extract() and variable-variable includes nearby, which often accompany unsafe deserialization.