Ещё одна дыра в заданиях в скриптах 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();
}


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

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

Автор публикации

не в сети 13 лет

Alex

Комментарии: 0Публикации: 166Регистрация: 19-02-2011

Понравилась статья? Поделись в соц. сетях:

Похожие новости

Отправить комментарий

wpDiscuz
Авторизация
*
*
Регистрация
*
*
*
Генерация пароля