[Движок] АРХИВ XNova - браузерная on-line игра по типу OGame

Статус
В этой теме нельзя размещать новые ответы.
Недавно поймал багу в скрипте торговца (marchand.php). Там логическая ошибка.
Продаваемый ресурс можно увеличить на любое число, достаточно лишь подделать html форму и добавить инпут с названием продаваемого ресурса (либо просто в ПОСТ передать его). Пробежался по десятку серверов иксновы - везде где есть торговец, есть и эта ошибка.
Вариантов решения проблемы множество, приводить примеры решения не буду - вопрос решается за пару минут. Сам скрипт довольно компактен, найдет проблему любой, кто мало-мальски знает php и умеет думать.
 
надыбал на просторах интернета RageOnline Repack v0.9.rar (редакция 192)

 
Падскажите как сделать. Чтобы отнималась темная материя , когда вызывал скупщика флота и лома??
 
Недавно поймал багу в скрипте торговца (marchand.php). Там логическая ошибка.
Продаваемый ресурс можно увеличить на любое число, достаточно лишь подделать html форму и добавить инпут с названием продаваемого ресурса (либо просто в ПОСТ передать его). Пробежался по десятку серверов иксновы - везде где есть торговец, есть и эта ошибка.
Вариантов решения проблемы множество, приводить примеры решения не буду - вопрос решается за пару минут. Сам скрипт довольно компактен, найдет проблему любой, кто мало-мальски знает php и умеет думать.

Для наглядности породемонстрируй баг вместе с решением, спрятав в Hide от 5 месаг.
Если это не слова, конечно.
 
Для наглядности породемонстрируй баг вместе с решением, спрятав в Hide от 5 месаг.
Если это не слова, конечно.
Надеюсь никому плохо не сделаю. :nezn:
Не люблю эти хайды.

Ну вот, по-быстрому, выкинул из страницы лишнее. Даже проще можно.

HTML:
<html><head><b>Накрутка ресурсов</b></head><body>
<form id="marchand" action="http://*******/marchand.php" method="post">
  <input type="hidden" name="ress" value="blabla">
  Металл <input name="metal" type="text" value="0"/><br />
  Криста <input name="cristal" type="text" value="0"/><br />
  Дейтер <input name="deut" type="text" value="0"/><br />
  <input type="submit" value="Добавить" />
</form>
</body></html>

Порядок действия:
- вставить путь до скрипта;
- залогиниться в игре
Вводить можно любое число - оно просто добавится к дейтерию. Кое-кто втыкает еще проверку, что у торговца запросили больше нуля обоих ресурсов - тогда ... ну ясно.

Выше MSW выложил RageOnline Repack v0.9.rar - на ней без проблем проходит этот фокус и в этом виде. На примере этой сборки и распишу.

Проблемный в конкретном случае момент (marchand.php:(
PHP:
$Error   = false;
switch ($_POST['ress']) {
	case 'metal':
		/*...*/
	case 'cristal':
		/*...*/
	case 'deuterium':
		/*...*/
}
// А у нас было просто bla-bla. Свитч просто проскочили... 

// И дальше 
if ($Error == false) {
        /*...*/
	$CurrentPlanet['metal']     += $_POST['metal'];
	$CurrentPlanet['crystal']   += $_POST['cristal'];
	$CurrentPlanet['deuterium'] += $_POST['deut'];
	/*...*/
	$QryUpdatePlanet  = "UPDATE {{table}} SET ";
	$QryUpdatePlanet .= "`metal` = '".     $CurrentPlanet['metal']     ."', ";
	$QryUpdatePlanet .= "`crystal` = '".   $CurrentPlanet['crystal']   ."', ";
	$QryUpdatePlanet .= "`deuterium` = '". $CurrentPlanet['deuterium'] ."' ";
	$QryUpdatePlanet .= "WHERE ";
	$QryUpdatePlanet .= "`id` = '".        $CurrentPlanet['id']        ."';";
	doquery ( $QryUpdatePlanet , 'planets');
}

Как пофиксить? default в switch - это раз. Обнулять переданное значение продаваемого ресурса - как вариант, два.
 
Народ,не подскажите,в каком файле лежит мыло с кторого отправляет сервер пасс юзеру ?

И в 0.9 у меня вот такая трабла с картинкой-кодом

Для просмотра ссылки Войди или Зарегистрируйся
 
Как пофиксить? default в switch - это раз. Обнулять переданное значение продаваемого ресурса - как вариант, два.

Чето не палучается исправить в marchand. Выложи свой профиксены marchand.
 
Я у себя пофиксил - уалением этого ненужного файла.
Думаю никто не будет спорить, что:
Данный функционал уменьшает взаимодействие между игроками, что ведёт к уменьшению активности на сервере и как следствию к уменьшению численности на нём.
Общение - основной мотиватор остаца в игре.

Заменой этого баганутого файла может стать открытый рынок ресурсов, который пытались реализовать в "объявлениях" (annonce.php), который так же нужно снести, толку от него, в данном виде, ноль.

А лучше всего не просто тупо рынок, а альянсовый рынок - тотипу этого:
 
RageOnline Repack v0.9.rar (редакция 195)

потестил, работает всё. саб, по-моему раже работает.
больших багов не нашёл, хотя особо времени искать небыло :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху