module

Tiki Wiki unserialize() PHP Code Execution

Disclosed
07/04/2012
Created
05/30/2018

Description

This module exploits a php unserialize() vulnerability in Tiki Wiki
which could be abused to allow unauthenticated users to execute arbitrary code
under the context of the webserver user.

The dangerous unserialize() exists in the 'tiki-print_multi_pages.php' script,
which is called with user controlled data from the 'printpages' parameter.
The exploit abuses the __destruct() method from the Zend_Pdf_ElementFactory_Proxy
class to write arbitrary PHP code to a file on the Tiki Wiki web directory.

In order to run successfully three conditions must be satisfied (1) display_errors
php setting must be On to disclose the filesystem path of Tiki Wiki, (2) The Tiki
Wiki Multiprint feature must be enabled to exploit the unserialize() and (3) a php
version older than 5.3.4 must be used to allow poison null bytes in filesystem related
functions. The exploit has been tested successfully on Ubuntu 9.10 and Tiki Wiki 8.3.

Authors

EgiXjuan vazquez

Platform

PHP

Architectures

php

Module Options

To display the available options, load the module within the Metasploit console and run the commands ‘show options’ or ‘show advanced’:

    msf > use exploit/unix/webapp/tikiwiki_unserialize_exec
    msf /(c) > show actions
        ...actions...
    msf /(c) > set ACTION < action-name >
    msf /(c) > show options
        ...show and set options...
    msf /(c) > run
  
Title
NEW

Explore Exposure Command

Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.