Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Usage Milestone: Time Field for Drupal 8+ Module time_field crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

This module provides a testing tool for Gadget Chains in Drupal, allowing developers to send payloads to PHP's `unserialize()` function. It is intended for security testing only and should not be used on production sites.

This is a Security testing module intended to help test fixes for Gadget Chains (aka POP Chains) in Drupal applications.

[blink tag] This should never be installed on production. [/blink tag]

Features

The module simply provides a route which will pass a payload to PHP's unserialize().

The payload can be passed as a GET or a POST parameter, with the name payload.

By default, access to the route requires authentication as a user with the "administer site configuration" permission, so it would typically be necessary to include a valid session cookie with the request.

It's possible to bypass this restriction with the following in settings.php:

$settings['gadget_chain_poc_free_access'] = TRUE;

Use this override at your own risk, and with extreme caution.

Additional options

The following optional parameters can be passed along with the payload (the value is ignored).

  • base64 - the payload will go through `base64_decode()` before being passed to unserialize().
  • tostring - the unserialized object will be cast to a string, invoking the relevant __toString() magic method.
  • output - display the result of the call to unserialize(); it will be pretty-printed as HTML by default, but can also be output as json if the GET param _format=json is sent in the request.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Jan 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Dormant

Releases

Version Type Core Release date
1.0.x-dev Dev 8–11 Jan 23, 2025