module

Tiki Wiki unserialize() PHP Code Execution

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

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

EgiX
juan vazquez juan.vazquez@metasploit.com

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 exploit(tikiwiki_unserialize_exec) > show targets
...targets...
msf exploit(tikiwiki_unserialize_exec) > set TARGET < target-id >
msf exploit(tikiwiki_unserialize_exec) > show options
...show and set options...
msf exploit(tikiwiki_unserialize_exec) > exploit

Title
NEW

Explore Exposure Command

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