Ещё одна неприятная дыра в заданиях скриптов SooFast.Неприятная она как для админов,так и для рекламодателей....также неприятная для тех,кто решит воспользоваться этой дырой.
Используем дыру
Итак: я - злой человек,который решил напакостить буксу или рекламодателю.У меня появилась чудо-идея поменять текст задания.Ну может ещё и оплату))
Что я могу сделать:
1.Удалить задание
2.Поменять текст задания.
Теперь я иду в список заданий на буксе и выбираю задание-жертву.Нажимаю \"Просмотр\" и смотрю номер задания.Он либо выводится вверху в адресе (id=24) ,либо где нить ещё.В принипе несложно посмотреть в исходнике списка с заданиями номер задания в коде кнопки просмотра.
Узнав номер задания я открываю исходный код страницы и удаляю всё из него.Вставляю в него код:
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 "
Это не Ваше задание.Идите нахер!";
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 "
Это не Ваше задание.Идите нахер!";
include('footer.php');
exit();
}
Кормим свинохряка и говорим спасибо!))
Кстати.На баг наткнулся случайно....Может случайно ещё парочку найду.Ждите ещё статей
Используем дыру
Итак: я - злой человек,который решил напакостить буксу или рекламодателю.У меня появилась чудо-идея поменять текст задания.Ну может ещё и оплату))
Что я могу сделать:
1.Удалить задание
2.Поменять текст задания.
Теперь я иду в список заданий на буксе и выбираю задание-жертву.Нажимаю \"Просмотр\" и смотрю номер задания.Он либо выводится вверху в адресе (id=24) ,либо где нить ещё.В принипе несложно посмотреть в исходнике списка с заданиями номер задания в коде кнопки просмотра.
Узнав номер задания я открываю исходный код страницы и удаляю всё из него.Вставляю в него код:
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 "
Это не Ваше задание.Идите нахер!"; 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 "
Это не Ваше задание.Идите нахер!"; include('footer.php');
exit();
}
Кормим свинохряка и говорим спасибо!))
Кстати.На баг наткнулся случайно....Может случайно ещё парочку найду.Ждите ещё статей
Теги
1 комментарии
0 загрузки
Детали
- Первый релиз 02 мар 2011
- Последнее обновление 03 авг 2026
- Документация Есть
- Содержимое файлов Исходные файлы
- Всего товаров 203
- Рейтинг (0)
- Регистрация 19 фев 2011
- Уровень 0
- Пользователь подтверждён Да
- Телефон подтверждён Нет
- Email подтверждён Нет

Fleent
- 04 июл 2011Алекс жжет)