Ещё одна дыра в заданиях в скриптах SooFast
Ещё одна дыра в заданиях в скриптах SooFast
Ещё одна неприятная дыра в заданиях скриптов SooFast.Неприятная она как для админов,так и для рекламодателей....также неприятная для тех,кто решит воспользоваться этой дырой.

Используем дыру
Итак: я - злой человек,который решил напакостить буксу или рекламодателю.У меня появилась чудо-идея поменять текст задания.Ну может ещё и оплату))

Что я могу сделать:
1.Удалить задание
2.Поменять текст задания.

Теперь я иду в список заданий на буксе и выбираю задание-жертву.Нажимаю "Просмотр" и смотрю номер задания.Он либо выводится вверху в адресе (id=24) ,либо где нить ещё.В принипе несложно посмотреть в исходнике списка с заданиями номер задания в коде кнопки просмотра.
Узнав номер задания я открываю исходный код страницы и удаляю всё из него.Вставляю в него код:

<form action="tasklist.php" method="post">
  <input type="hidden" value="24" name="id">
  <input type="hidden" value="edit" name="action">
  <input type="submit" value="Редактировать">
  </form>

24 - номер задания жертвы.
edit - можно поменять на deletetask чтоб удалить задание

Применяю изменения и вижу кнопку на странице.Кнопка ток одна - не увидеть невозможно.Жму на неё и попадаю на страницу с редактированием задания.Меняю данные.....стоп!

исправляя первый найденный баг в заданиях,который опубликовывал когда то Rufus-батька,проявился недочёт.Чтоб отредактировать задание,надо пополнить его баланс на сумму оплаты одного выполнения - это "Патология" после исправления того старого бага.

Продолжаем.У меня были деньги на балансе от рефералов - я не зажал мелочи и пополнил баланс задания на одно выполнение.Исправил всё что хотел в задании и клацнул "Сохранить".

Вуаля.Эффект вы видите на скрине

Исправляем баг
Открываем tasklist.php и ищем строки:

if($_POST["action"]=="deletetask")
{
  $id=$_POST["id"];

После них вставляем код:

$prov=mysql_fetch_array(mysql_query("SELECT author FROM tb_task WHERE id='$id'"));
$rekl=$prov["author"];
if($rekl!=$_SESSION["username"])
{
echo "<img src=images/error.png> <font color=red>Это не Ваше задание.Идите нахер!</font>";
include('footer.php');
exit();
}

Потом ищем кусок:

if($_POST["action"]=="editok")
{
  $id=$_POST["id"];

и кусок:

if($_POST["action"]=="edit")
{
  $id=$_POST["id"];

И после каждого куска добавляем этот же код:

$prov=mysql_fetch_array(mysql_query("SELECT author FROM tb_task WHERE id='$id'"));
$rekl=$prov["author"];
if($rekl!=$_SESSION["username"])
{
echo "<img src=images/error.png> <font color=red>Это не Ваше задание.Идите нахер!</font>";
include('footer.php');
exit();
}

Кормим свинохряка и говорим спасибо!))

Кстати.На баг наткнулся случайно....Может случайно ещё парочку найду.Ждите ещё статей


Рубрика: Бесплатное » Дыры, ошибки   |   Автор: Alex   |   Просмотры: 5297
Комментариев: 25
Публикаций: 1
ICQ: 1222192
- 11 +
  Автор: Fleent   |   Группа: V.I.P.   |   Дата: 04 июля 2011  

Алекс жжет)
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.