В этот раз мы поговорим об одной очень не приятной ошибке в коде скриптов SoooFast с помощью, которой на вашем проекте могут накрутить баланс. В этой статье вы разберём её подробно так же поговорим о том как её исправить. Для начала давайте разберемся, как же всё происходит и где у вас уязвимость.
Для примера я не буду использовать, какой либо проект что бы не было претензий от администраторов, а скачаю и установлю любой бесплатный скрипт букса на базе скрипта SoooFast для накрутки буду использовать тестовые аккаунты их нужно будет два. Один нужен будет для добавления заданий второй для их выполнения. На первом аккаунте заходим в раздел «Задания» и создаём новое задание, если у вас нет денег на аккаунте, то просто просмотрите одну ссылку, для добавления задания нам хватит 0.001 денежной еденицы. При добавлении задания введём такие данные:
Название: Любой текст
Оплата: 0.001
Описание: Любой текст
Ссылка для начала выполнения: Любой текст.
Информация для подтверждения: Любой текст
Пополнить баланс задания на сумму: 0.001
Нажимаем «Добавить задание» и переходим в раздел «Ваши задания», нажимаем кнопку «Редактировать» рядом с заданием, которое Вы добавили. Теперь смотрим исходный код и ищем следующие строки:
<input type="submit value=Сохранить" />
<input type="hidden value=8" name="id" />
<input type="hidden value=editok" name="action" />
<input type="hidden value=0.01" name="balance" />
Теперь рассмотрим нижнюю строчку она отвечает за баланс в ней указан общий баланс заданий её мы изменим, заменяем 0.001 на 500 и нажимаем «Применить». Перейдём на страницу редактирования и выставляем Оплата: 50. Жмём «Сохранить». Теперь оплата за задание составляет 50 денежных единиц.
Дальше заходим с другого браузера и другого аккаунта и выполняем это задание, потом в первом браузере и первом аккаунте подтверждаем выполнение задания в разделе «Проверка выполнения заданий». Теперь у вас есть на счету 50 рублей, можете заказать рекламу, купить себе рефералов или же заказать выплату.
Ну, в общем можно указывать любою сумму больше сумма больше денег. Но знайте, что вывести из проекта большую сумму у вас не выйдет тем более если на проекте автоматические выплаты, то нет смысла заказывать такие суммы, обычно суммы, которые превышают 5 рублей или 50 центов идут на подтверждение администрации и она быстро вычислит накрутку. Теперь для администраторов, которые не терпят накруток и не хотят убирать задания с проекта, так как они приносят дополнительную прибыль. Дыра латается очень просто, для закрытия дыры не нужны какие либо навыки. Всё, что нам нужно это текстовый редактор совету использовать
текстовой редактор для редактирования файлов Notepad++.
Дальше ищем в корне букса файл tasklist.php скачиваем себе на рабочий стол и открываем программой Notepad++ там найдём строку кода приведённую ниже.
<input type="hidden value=" name="balance" /></texarea>
Удаляем её и ниже находим.
<textarea cols="100%" rows="4" />$balance=strip_tags($_POST["balance"]);
Тоже удаляем. Ещё ниже будет код:
$balance=$balance+$balplus;
Удаляем эту строку. Ниже ищем код:
$kolvo=floor($balance/$amount);
и заменяем на:
$kolvo=floor($balplus/$amount);
Ниже ищем код:
mysql_query("update tb_task set title='$title',amount='$amount',descr='$descr',starturl='$starturl', verinfo='$verinfo', balance='$balance',kolvo=kolvo+$kolvo where id='$id'");
и заменяем его на:
mysql_query("update tb_task set title='$title',amount='$amount',descr='$descr', starturl='$starturl', verinfo='$verinfo', balance=balance+$balplus,kolvo=kolvo+$kolvo where id='$id'");
Ну, в общем вот и всё! Теперь нам накрутка не страшна, но это не лучший вариант исправления, а просто пример от Rufusa как можно избежать накрутки теперь при редактировании задания пользователю нужно будет пополнять задание ещё на одну стоимость задания если он это не сделает, то будет выводиться ошибка.
Отзывы