Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Уязвимости скрипта Bux (https://forum.antichat.xyz/showthread.php?t=89357)

DIMON4G 27.10.2008 23:20

Уязвимости скрипта Bux
 
Здравствуйте всем. Я хочу написать в этой теме про все Уязвимости скрипта, который носит
популярное название Bux, и также как эти Уязвимости можно прикрыть. Итак начнём...


1. Защита от накрутки на буксе.

Открыть файл ../view.php

найти

Код:

$adse=limpiar($_GET["ad"])
заменить на

Код:

$adse=(int)limpiar($_GET["ad"])
Открыть файл ../viewp.php

найти

Код:

$adse=limpiar($_GET["ad"])
заменить на

Код:

$adse=(int)limpiar($_GET["ad"])
Для защиты от накрутки (версия 2) следует сделать:

1. Войдите в PhpMyAdmin в панеле управления сайтом.
2. Выбираем базу данных SQL на которой стоит ваш скрипт Bux.
3. Далее в левой колонке мы видем открывшиеся дампы SQL базы. В левой колонке нажимаем на дамп tb_ads. У нас открылась новая страница. Выбираем строку ident и жмём её редактирование.
4. Далее, в новом окне мы видим настройки: varchar - 150 - not null. Теперь меняем настроки: varchar на INT, 150 на 11, Not null на Null и сохраняем. Всё, теперь у вас баг накрутки закрыт.

2. Добавление поля WMID.

Для начала скачайте 2 файла (в архиве) скачать

Подредактируйте дизайн, если нужно.

Выполить SQL-запрос:
Код:

ALTER TABLE `tb_users` ADD `wmid` varchar(150) NOT NULL;
3. Для исправления даты входа.

Открыть файл ../login.php

найти

Код:

$lastlogdate=date  ($lastlogdate=time();)
заменить на

Код:

$lastlogdate=date("d.m.Y");
4. Для исправления даты регистрации.

Открыть ../login.php

найти

Код:

$joindate=date  ($joindate=time();)
заменить на

Код:

$joindate=date("d.m.Y");
5. для защиты от SQL и XSS.

Открыть ../advertise.php

найти

Код:

<?
session_start();
?>

заменить на

Код:

<?
require_once('.zsecurity.php');
session_start();
?>

найти

Код:

$pemail=limpiarez($_POST["pemail"]);
$plan=limpiarez($_POST["plan"]);
$url=limpiarez($_POST["url"]);
$description=limpiarez($_POST["description"]);
$bold=limpiarez($_POST["bold"]);
$highlight=limpiarez($_POST["highlight"]);

добавить после

Код:

$url=htmlspecialchars($url); // Security in XSS by DIMON4G
$pemail=htmlspecialchars($pemail); // Security in XSS by DIMON4G
$description=htmlspecialchars($description); // Security in XSS by DIMON4G

Открыть ../contact.php

найти

Код:

$name=limpiar($_POST["name"]);
$email=limpiar($_POST["email"]);
$topic=limpiar($_POST["topic"]);
$subject=limpiar($_POST["subject"]);
$comments=limpiar($_POST["comments"]);

добавить после

Код:

$name=htmlspecialchars($name); // Security in XSS by DIMON4G
$email=htmlspecialchars($email); // Security in XSS by DIMON4G
$topic=htmlspecialchars($topic); // Security in XSS by DIMON4G
$subject=htmlspecialchars($subject); // Security in XSS by DIMON4G
$comments=htmlspecialchars($comments); // Security in XSS by DIMON4G

Открыть ../convert.php

найти

Код:

<?
session_start();
?>

заменить на

Код:

<?
require_once('.zsecurity.php');
session_start();
?>

найти

Код:

$url=limpiar($_POST["url"]);
$description=limpiar($_POST["description"]);

добавить после

Код:

$url=htmlspecialchars($url); // Security in XSS by DIMON4G
$description=htmlspecialchars($description); // Security in XSS by DIMON4G

Открыть ../login.php

найти

Код:

<?
session_start();
?>

заменить на

Код:

<?
require_once('.zsecurity.php');
session_start();
?>

Открыть ../register.php

найти

Код:

<?
session_start();
?>

заменить на

Код:

<?
require_once('.zsecurity.php');
session_start();
?>

6. Для защиты букса от подмены пароля администратора.

Требуеться выполнить не хитрые действия:

1. заменить через базу логин администратора, например заменить существующий admin на dfkjdhfkjah (чтобы никто не смог подобрать имя администратора для замены пароля)

2. переменовать папку /admin/ в другое название, или просто сделать /admin_admin/ (чтобы никто не знал где она)

3. поставить на папку /admin/ md5 пароль.

4. убрать из меню ссылку на админку (выглядит примерно так <li><a href=\"admin/\" target=\"_blank\"><font color=\"red\">Админка</font></a></li>

Вот ето поможет избежать подмены пароля и захода в админку левых людей.

Теперь я расскажу как крушить и ломать буксы хацкерам ;)

1. Подмена пароля у админа.

1. Устанавливаем браузер Opera.
2. Регистрируемся на любом буксе.
3. Заходим в аккаунт.
4. Заходим в профиль.
5. В опере Инструменты - дополнительно - Cookies.
6. Находим нужный букс (среди адресов посмотреть нужный адрес).
7. Удаляем кукис под названием usPass:..... (там примерно такой usPass:qwerty ).
8. Редактируем кукис под названием usNick:.....
теперь сам секрет,
какой логин тут вы поставите, такой логин (если он существует) и получит ваш существующий пасворд!
например ставим usNick:admin.

9. Закрываем окошко редактирвоания кукисов.
10. В профле вводим код подтверждения и нажимаем сохранить.

11. Пользоватлель под именем admin имеет пасворд qwerty.

Накрутка на кликах.

1. берем букс
2. регистрируемся
3. залогиниваемся
4. заходим в раздел ПРОСМОТР ССЫЛОК
5. кликаем на ссылку
6. ждем 20 секунд
7. добавляем к адресу точку или любую букву ( ..../view.php?ad=39000 заменяем на ..../view.php?ad=39000. )
8. смотрим 20 секудн
9. Вуаля! вам защитан второй показ по этой же ссылке!

Могу дать полностью русскую админку для букса за +++, пишите в ЛС. ;)

Вроде всё, всем спасибо.

CTAPu4OK 28.10.2008 16:18

Цитата:

Сообщение от DIMON4G
Здравствуйте всем. Я хочу написать в этой теме про все Уязвимости скрипта, который носит
популярное название Bux, и также как эти Уязвимости можно прикрыть. Итак начнём...


1. Защита от накрутки на буксе.

Открыть файл ../view.php

найти

Код:

$adse=limpiar($_GET["ad"])
заменить на

Код:

$adse=(int)limpiar($_GET["ad"])
Открыть файл ../viewp.php

найти

Код:

$adse=limpiar($_GET["ad"])
заменить на

Код:

$adse=(int)limpiar($_GET["ad"])
Для защиты от накрутки (версия 2) следует сделать:

1. Войдите в PhpMyAdmin в панеле управления сайтом.
2. Выбираем базу данных SQL на которой стоит ваш скрипт Bux.
3. Далее в левой колонке мы видем открывшиеся дампы SQL базы. В левой колонке нажимаем на дамп tb_ads. У нас открылась новая страница. Выбираем строку ident и жмём её редактирование.
4. Далее, в новом окне мы видим настройки: varchar - 150 - not null. Теперь меняем настроки: varchar на INT, 150 на 11, Not null на Null и сохраняем. Всё, теперь у вас баг накрутки закрыт.

Вроде всё, всем спасибо.


Бред... в адресной строке в начале ID номера добавь кавычку и сможешь опять накручивать клики..... на счет редактирования БД на INT.... вообще скажу тебе это по секрету... об этом я тоже думал.... даже расказал нескольким людям об этом, но потом заметил что накрутка так же идет.... короче бред + ко всему ограниченное колличество ID номеров

А баг правится так.....


в view.php и viewp.php

PHP код:

$adse=limpiar($_GET["ad"]); 

на

PHP код:

if(preg_match("|^[\d]*$|",$_GET['ad']))
{
$adse=$_GET["ad"];
} else die(
"Invalid advert ID."); 



Цитата:

6. Для защиты букса от подмены пароля администратора.

Требуеться выполнить не хитрые действия:

1. заменить через базу логин администратора, например заменить существующий admin на dfkjdhfkjah (чтобы никто не смог подобрать имя администратора для замены пароля)

2. переменовать папку /admin/ в другое название, или просто сделать /admin_admin/ (чтобы никто не знал где она)

3. поставить на папку /admin/ md5 пароль.

4. убрать из меню ссылку на админку (выглядит примерно так <li><a href=\"admin/\" target=\"_blank\"><font color=\"red\">Админка</font></a></li>

Вот ето поможет избежать подмены пароля и захода в админку левых людей.
>>>>>1. заменить через базу логин администратора,

Ахахаххаа............ с тобой все ясно.... :-D....
Заменишь логин и пароль... и что ? фиг с ним... админ не пострадает... а что с пользователем ? уж логин пользователя подобрать куда легче... а если премиум попадется у которого на счету 100000 wmz ? :D или все равно ? типо я хз нечего не знаю ?)

>>>>>> переменовать папку /admin/ в другое название, или просто сделать /admin_admin/

Думаешь ты один такой умный ?)))

>>>>>>(чтобы никто не знал где она)

Убил :-D может и не новечку но узнать название папки проще простого.....

>>>>>>поставить на папку /admin/ md5 пароль.
аха... тут я промолчу :-D четай четвертое

>>>>>> убрать из меню ссылку на админку
С главной в админку отправляются кукисы на проверку статуса admin... а если просто в тупую открыть то у тебя будет белый экран смерти :-D

А ты знаешь что букс ломается не только через Profile.php ? так же и через replysms.php :-D

Владельцам буксов которые сейчас читают эту муть очень сильно повезло :-D

Короче.... вот фикс)))



в replysms.php
PHP код:

$sendfrom=$_COOKIE["usNick"]; 

заменить на

PHP код:

$sendfrom=limpiar($_COOKIE["usNick"]); 



в profile.php


PHP код:

$trok=uc($_COOKIE["usNick"]); 

заменить это

на это:

PHP код:

if(isset($_COOKIE["usNick"]) && isset($_COOKIE["usPass"])) { $trok=uc($_COOKIE["usNick"]); 


заменить это

PHP код:

$queryb = "UPDATE tb_users SET password='$password', ip='$laip', email='$email', pemail='$pemail', country='$country' WHERE username='$trok'"; mysql_query($queryb) or die(mysql_error());
echo "..."; ?>
<META HTTP-EQUIV="REFRESH" CONTENT="1;URL=logoutp.php"> <?


на это:

PHP код:

$queryb = "UPDATE tb_users SET password='$password', ip='$laip', email='$email', pemail='$pemail', country='$country' WHERE username='$trok'"; mysql_query($queryb) or die(mysql_error());
echo "..."; ?>
<META HTTP-EQUIV="REFRESH" CONTENT="1;URL=logoutp.php">
<? }else{ exit('Анти хак защита, ваш IP отправляен на рассмотрение в соответсвующие органы!'); }


Вот теперь ВСЕ :)

deniska1517 28.10.2008 16:22

вчера в халяве кто-то 6 буксов выложил и их уязвимости.... вот готовая статья!

DIMON4G 28.10.2008 20:45

CTAPu4OK огромное спасибо).

Цитата:

Сообщение от deniska1517
вчера в халяве кто-то 6 буксов выложил и их уязвимости.... вот готовая статья!

ыы, эт был я)

DIMON4G 28.11.2008 23:05

Накрутка №3

Цитата:

Открываешь любую ссылку, и смотришь html код страницы, находишь там строку типа
Код:

<input type="hidden" name="verify" value="86161">
.

И сам способ:

В общем так – открываем любую ссылку, например с адресом view.php?ad=101, запоминаем ее номер – 101. Затем открываем HTML код страницы и ищем в коде строчку типа -
Код:

<input type="hidden" name="verify" value="88888">
. Запоминаем второе число – 88888. Теперь в строке браузера вводим адрес страницы - success.php?ad=101.1&verify=88888 и переходим на эту страницу. Появиться зеленая галочка – деньги зачислены! Нажимаем F5 – то же самое. И так безконечно!
Метод исправления:
http://depositfiles.com/files/rnuaoutjo

;) ;) ;) ;)

jumperby 29.11.2008 18:23

Накрутки что-то уже не рабочие :)

tarantul13 01.12.2008 01:30

Цитата:

Сообщение от DIMON4G
Накрутка №3



Метод исправления:
http://depositfiles.com/files/rnuaoutjo

;) ;) ;) ;)

Можно сделать проще:

В файле success.php найти это (в начале):
PHP код:

$adse=limpiar($_GET["ad"]); 

И заменить на это:
PHP код:

if(preg_match("|^[\d]*$|",$_GET['ad']))
{
$adse=$_GET["ad"];
} else die(
"Зафиксирована попытка накрутки!"); 


poka_nub 01.12.2008 23:26

Извините, но в халяве не нашел выложенных скриптов
 
Извините, но в Халяве не нашел выложенных скриптов, а архив не работает, в халяве нет сообщений раньше чем 1 ноября... меня интересует, нет ли у Вас капчи, или не можете ли помочб прикрутить её? не капчу для регистрации, а по истечении 20 сек, чтоб юзер вводил капчу? Может подскажите или поделитесь ссылкой, и скажите на сколько эффективно.
Можно что-то наподобии этого _http://qbux.ru
а можно и друго вариант... спасибо... и как найти или откуда качать, те 6 скриптов буксов, что Вы выкладывали ранее...

buxhost 08.12.2008 20:48

А как закрыть дыры от sql иньекции??? У меня на буксе стоит .zsecurity но один хакер ломает sql через инъекцию. XSS закрыты админка запаролена . Пассы везде типа 4Р%;JFNV9-D4. Как он меня ломает и какую защиту можно поставить?????

tarantul13 08.12.2008 21:55

Цитата:

Сообщение от buxhost
А как закрыть дыры от sql иньекции??? У меня на буксе стоит .zsecurity но один хакер ломает sql через инъекцию. XSS закрыты админка запаролена . Пассы везде типа 4Р%;JFNV9-D4. Как он меня ломает и какую защиту можно поставить?????

Я тоже присоединяюсь, т.к. у меня такая же ситуация..


Время: 15:44