Показать сообщение отдельно

  #2  
Старый 28.10.2008, 16:18
Аватар для CTAPu4OK
CTAPu4OK
Новичок
Регистрация: 28.10.2008
Сообщений: 14
Провел на форуме:
92208

Репутация: 6
По умолчанию

Цитата:
Сообщение от 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 ? или все равно ? типо я хз нечего не знаю ?)

>>>>>> переменовать папку /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 отправляен на рассмотрение в соответсвующие органы!'); }

Вот теперь ВСЕ
 
Ответить с цитированием