Ещё одна неприятная дыра в заданиях скриптов 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();
}
Кормим свинохряка и говорим спасибо!))
Кстати.На баг наткнулся случайно….Может случайно ещё парочку найду.Ждите ещё статей
Отправить комментарий
Вы должны быть зарегистрированы чтобы оставить комментарий.
Вы должны быть зарегистрированы чтобы оставить комментарий.