Автор Тема: дыра в модуле  (Прочитано 2064 раз)

0 Пользователей и 1 Гость просматривают эту тему.

nikneimАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений Более 10 созданных тем
  • Дата регистрации: Фев. 2018
  • Сообщений: 42
  • Страна: ru
  • Поблагодарили: 2 раз(а)
  • Репутация +0/-1
  • Пол: Мужской
дыра в модуле
« : 02 Марта 2018, 20:46:57 »
Здравствуйте. установил 3 модуля и заметил что один игрок вывел деньги проверил его профиль соответственно у него было много персонажей и серебра а вложил он деньги минимум для снятия заглушки.
 
вот код 1 модуля ( откуда пришел реферал )

Сделать запрос в бд.
ALTER TABLE `db_users_a` ADD `refsite` varchar(50) CHARACTER SET cp1251 COLLATE cp1251_general_cs NOT NULL;
1. В файл signup.php ПОСЛЕ ЭТОГО

if($pass == $_POST["repass"]){
                 
                  $db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
                  if($db->FetchRow() == 0){

Вставить ЭТО:
 
preg_match('/([a-z0-9aа-я\.])+([a-z0-9а-я\-])+(\.)([a-z0-9а-я]{2,5}\.)?([a-z0-9а-я]{2,5})/i',$_COOKIE['rsite'], $out);
                        $out=$db->RealEscape($out[0]);
После него это
# Регаем пользователя
                  $db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, refsite, ip)
                  VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time','$out',INET_ATON('$ip'))");

В корневом файле index.php ПОСЛЕ
$_timer_a = TimerSet();
Вставить это
#откуда пришел
if (!isset($_COOKIE['rsite'])) {
setcookie('rsite', $_SERVER['HTTP_REFERER'], time() + 24 * 3600);
}
Ну и последнее в файле referals.php
После СТРОКИ
<h2 style="margin-left: 5px;font-size: 20px;">Список всех ваших рефералов ( <?=$refs; ?> )</h2>
####
Вставить это. Возможно она у вас есть,отсутвует откуда пришел,можете заменить и всё.И будет счастье =)
#####
 
<div style="max-height: 750px;overflow: auto;">
<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width='98%'>
<tr height='25' valign=top align=center>
   <td class="m-tb"> Логин </td>
   <td class="m-tb"> Дата регистрации </td>
   <td class="m-tb"> Откуда пришел</td>   
   <td class="m-tb"> Доход от партнера </td>
</tr>

<?PHP
 $all_money = 0;
  $db->Query("SELECT ".$pref."_users_a.user, ".$pref."_users_a.date_reg, ".$pref."_users_a.refsite, ".$pref."_users_b.to_referer FROM ".$pref."_users_a, ".$pref."_users_b
  WHERE ".$pref."_users_a.id = ".$pref."_users_b.id AND ".$pref."_users_a.referer_id = '$user_id' ORDER BY to_referer DESC");
 
   if($db->NumRows() > 0){
 
        while($ref = $db->FetchArray()){
     
      ?>
      <tr height="25" class="htt" valign="top" align="center">
         <td align="center"> <?=$ref["user"]; ?> </td>
         <td align="center"> <?=date("d.m.Y в H:i:s",$ref["date_reg"]); ?> </td>
         <td align="center"> <?=$ref["refsite"]; ?> </td>
         <td align="center"> <?=sprintf("%.2f",$ref["to_referer"]); ?> </td>
      </tr>
 

 вот код 2 модуля ( биржа рефералов)

##########F-FERMA.RU #############
Установка:

1)
Зайти в папку pages и найдите файл _account.php
Добавьте в этот файл следующее:
case "buyref": include("pages/account/_buyref.php"); break;

2
<div class="field-gr"><a href="/account/buyref"><font color = "red">Биржа рефералов[/url]</div> 

3)
 Зайти в корневую директорию скрипта и найдите файл .htaccess
Добавьте в этот файл следующее:
RewriteRule ^account/buyref(/?)+$ index.php?menu=account&sel=buyref [L]

Установка завершена.
<style>
.buybuy{
 text-decoration:none;
 text-align:center;
 padding:0px 6px;
 border:solid 0px #fcfdfe;
 
 font:9px arial;
 font-weight:bold;
 color:#434f4f; 
</style>

<?PHP
$_OPTIMIZATION["title"] = "Биржа активных рефералов";
$usid = $_SESSION["user_id"];
$uname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_datab = $db->FetchArray();
?>

<div class="s-bk-lf"><div class="acc-title">Биржа рефералов</div></div>
<div class="silver-bk"><div class="clr"></div>   
<font color = "#0000CD">На данной странице Вы сможете выбрать себе свободного реферала и приобрести его за серебро со счета для ВЫВОДА. Цены меняются автоматически-ловите момент купить по-дешевле ! Чем больше активность реферала на проекте - тем выше цена !!!
[br /][br /]

<?
echo '<table width="100%" border="0">
  <tr bgcolor="#efefef">
   <td align="center">Пользователь</td>
   <td align="center">Активность</td>
   <td align="center">Цена</td>
   <td align="center">Покупка</td>
  </tr>';
?>

</tr>

<?php
$twenty_days = 60*60*24*20;
$twenty_days_reg = time() - $twenty_days;
$db->Query("SELECT * FROM db_users_a WHERE (referer_id = '1' AND id != '$usid') order by date_login");

while($user_data = $db->FetchArray()){
$buyed_user = $user_data["id"];
$price = round((3000000 -($user_data["date_login"]-time()) * (-1)) / 100);
if ($price <=0){$price=1;}

echo '<form action="" method="post">
<tr class="htt">
<input type="hidden" name="ref_id" value="'.$buyed_user.'">
<td align="center">'.$user_data["user"].'</td>
<td align="center">'.date("d.m.Y",$user_data["date_login"]).'</td>
<td align="center">'.$price.'</td>
<td align="center"><input type="hidden" name="buyreferal" value="'.$price.'"><input type="submit" class="buybuy"  value="Приобрести" style="height: 27px; margin-top:6px;"/></td>

</tr>
</form>';

}

if(isset($_POST["buyreferal"]) && is_numeric($_POST['buyreferal']) && is_numeric($_POST['ref_id'])){
$price = intval($_POST["buyreferal"]);
$ref_id = intval($_POST["ref_id"]);
if($price <= $user_datab["money_p"]){

$db->Query("UPDATE db_users_b SET money_p = money_p - '$price' WHERE id = '$usid'");
$db->Query("UPDATE db_users_a SET referals = referals + 1 WHERE id = '$usid'");
$db->Query("UPDATE db_users_a SET referer = '$uname', referer_id = '$usid'  WHERE id = '$ref_id'");
echo '<center><font color = "8C0508">Вы успешно купили реферала!</font></center><BR />
';
Header("Location: /account/buyref");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_datab = $db->FetchArray();
}else echo "<center><font color = '8C0508'>Недостаточно серебра для покупки реферала</font></center><BR />";
}
?>

</table>

<?PHP
?>
   
</div>
<div class="clr"></div>   
</div>

 и 3 ( модуль паразит ) с vip раздела.

где то есть дыра  ^55$ ^55$ ^55$ помогите убрать лишний код !!!^#|
 

Shop-53

  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Более 250 сообщений Топ 10 по сообщениям Более 10 созданных тем За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Сообщений: 417
  • Поблагодарили: 35 раз(а)
  • Репутация +2/-2
  • Пол: Мужской
дыра в модуле
« Ответ #1 : 02 Марта 2018, 23:04:15 »
Как по мне что то здесь не то
if(isset($_POST["buyreferal"]) && is_numeric($_POST['buyreferal']) && is_numeric($_POST['ref_id'])){
a:0:{}
 

nikneimАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений Более 10 созданных тем
  • Дата регистрации: Фев. 2018
  • Сообщений: 42
  • Страна: ru
  • Поблагодарили: 2 раз(а)
  • Репутация +0/-1
  • Пол: Мужской
дыра в модуле
« Ответ #2 : 02 Марта 2018, 23:44:19 »
Как по мне что то здесь не то
if(isset($_POST["buyreferal"]) && is_numeric($_POST['buyreferal']) && is_numeric($_POST['ref_id'])){

а 1 модуль откуда пришел реферал он чист?
 

maks161

  • *
  • *
  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Более 1750 сообщений Репутация более 15 Топ 10 по сообщениям Топ 10 по созданным темам За финансовую помощь форуму !!! Благодарность от форума Более 50 созданных тем За время в онлайне на форуме
  • Дата регистрации: Янв. 2016
  • Расположение: Ростов-на-Дону
  • Возраст: 40
  • Сообщений: 1757
  • Страна: ru
  • Поблагодарили: 150 раз(а)
  • Репутация +22/-5
  • Пол: Мужской
  • Дата рождения:
    1984-03-10
дыра в модуле
« Ответ #3 : 03 Марта 2018, 00:39:14 »
Как по мне что то здесь не то
if(isset($_POST["buyreferal"]) && is_numeric($_POST['buyreferal']) && is_numeric($_POST['ref_id'])){
это не дыра. но возможно этот код может стать и дырой если фильтрация не правильная(но я сомневаюсь в этом)надо скрипт копать по любому он дырявый.
 

nikneimАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений Более 10 созданных тем
  • Дата регистрации: Фев. 2018
  • Сообщений: 42
  • Страна: ru
  • Поблагодарили: 2 раз(а)
  • Репутация +0/-1
  • Пол: Мужской
дыра в модуле
« Ответ #4 : 03 Марта 2018, 01:15:53 »
это не дыра. но возможно этот код может стать и дырой если фильтрация не правильная(но я сомневаюсь в этом)надо скрипт копать по любому он дырявый.
 скрипт то чист несколько раз проверялся
 после этих модулей заметил проблему правда добавил еще один код последние пять пополнений и выплат
вот код

<div class="stat">
   <div class="h-title">Последние 5 пополнений</div>
<div class="st-rg" >


<?PHP

  $db->Query("SELECT * FROM db_insert_money ORDER BY id DESC LIMIT 5");

  if($db->NumRows() > 0){

      while($last = $db->FetchArray()){

    ?>
  <div class="line-st"><?=$last["user"]; ?></div>

    <?PHP

    }

  }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'
  ?>
</div>
<div class="st-rg">
  <?PHP

  $db->Query("SELECT * FROM db_insert_money ORDER BY id DESC LIMIT 5");

  if($db->NumRows() > 0){

      while($last = $db->FetchArray()){

    ?>
   <div class="line-st"><?=$last["money"]; ?> рублей</div>
    <?PHP

    }

  }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'
  ?>
</div>
<div class="clr"></div>
   </div>
   

[br /]
<div class="stat">
   <div class="h-title">Последние 5 выплат</div>
<div class="st-rg" >


<?PHP

  $db->Query("SELECT * FROM db_payment ORDER BY id DESC LIMIT 5");

  if($db->NumRows() > 0){

      while($last = $db->FetchArray()){

    ?>
  <div class="line-st"><?=$last["user"]; ?></div>

    <?PHP

    }

  }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'
  ?>
</div>
<div class="st-rg">
  <?PHP

  $db->Query("SELECT * FROM db_payment ORDER BY id DESC LIMIT 5");

  if($db->NumRows() > 0){

      while($last = $db->FetchArray()){

    ?>
   <div class="line-st"><?=$last["sum"]; ?> рублей</div>
    <?PHP

    }

  }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'
  ?>
</div>
<div class="clr"></div>
   </div>
 

maks161

  • *
  • *
  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Более 1750 сообщений Репутация более 15 Топ 10 по сообщениям Топ 10 по созданным темам За финансовую помощь форуму !!! Благодарность от форума Более 50 созданных тем За время в онлайне на форуме
  • Дата регистрации: Янв. 2016
  • Расположение: Ростов-на-Дону
  • Возраст: 40
  • Сообщений: 1757
  • Страна: ru
  • Поблагодарили: 150 раз(а)
  • Репутация +22/-5
  • Пол: Мужской
  • Дата рождения:
    1984-03-10
дыра в модуле
« Ответ #5 : 03 Марта 2018, 01:39:25 »
кем скрипт проверялся. и почему такая уверенность.кидай скрипт в личку можно без базы если боишься я тебе скажу он чистый или нет.
 

nikneimАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений Более 10 созданных тем
  • Дата регистрации: Фев. 2018
  • Сообщений: 42
  • Страна: ru
  • Поблагодарили: 2 раз(а)
  • Репутация +0/-1
  • Пол: Мужской
дыра в модуле
« Ответ #6 : 03 Марта 2018, 01:43:50 »
кем скрипт проверялся. и почему такая уверенность.кидай скрипт в личку можно без базы если боишься я тебе скажу он чистый или нет.
скрипт проверял админ этого сайта
 

maks161

  • *
  • *
  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Более 1750 сообщений Репутация более 15 Топ 10 по сообщениям Топ 10 по созданным темам За финансовую помощь форуму !!! Благодарность от форума Более 50 созданных тем За время в онлайне на форуме
  • Дата регистрации: Янв. 2016
  • Расположение: Ростов-на-Дону
  • Возраст: 40
  • Сообщений: 1757
  • Страна: ru
  • Поблагодарили: 150 раз(а)
  • Репутация +22/-5
  • Пол: Мужской
  • Дата рождения:
    1984-03-10
дыра в модуле
« Ответ #7 : 03 Марта 2018, 03:08:04 »
тогда понятно.но возможно где-то фильтрацию пропустили(фильтрация это не дыра)но не полную фильтрацию некоторые умельцы используют в качестве уязвимости.
мое предположение.
удали эти модули и посмотри что будет. но паразит точно не виноват там то и кода совсем чуть чуть в котором нет ничего плохого .
 

shans5

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме За 1500 созданных тем Репутация более 75 более 4000 сообщений Топ 10 по созданным темам Топ 10 по сообщениям Бывает груб к участникам форума. За время в онлайне на форуме
  • Дата регистрации: Сен. 2015
  • Расположение: Регион 58
  • Возраст: 44
  • Сообщений: 4897
  • Страна: ru
  • Поблагодарили: 1381 раз(а)
  • Репутация +92/-10
  • Пол: Мужской
  • Всё только начинается !!!
  • Дата рождения:
    1979-06-30
дыра в модуле
« Ответ #8 : 03 Марта 2018, 19:51:15 »
скрипт проверял админ этого сайта

Кто именно ? Квозимир ?

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

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Более 2000 сообщений Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 32
  • Сообщений: 2029
  • Страна: ru
  • Поблагодарили: 243 раз(а)
  • Репутация +40/-1
  • Пол: Мужской
  • Дата рождения:
    1992-04-18
    Социальные сети:
    ВКонтакте
дыра в модуле
« Ответ #9 : 04 Марта 2018, 05:30:43 »
А я не помню смотрел или нет

 

Kuper

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 250 сообщений Топ 10 по сообщениям Репутация более 5
  • Дата регистрации: Дек. 2016
  • Возраст: 34
  • Сообщений: 435
  • Страна: ru
  • Поблагодарили: 35 раз(а)
  • Репутация +8/-2
  • Пол: Мужской
  • Дата рождения:
    1989-11-19
    Социальные сети:
    ВКонтакте
дыра в модуле
« Ответ #10 : 04 Марта 2018, 10:21:40 »
Нет в этих файлах дыр,успокойтесь. По скрипту пройтись нужно.
Теги: