VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Все работает.запись в БД идет.Но вот проблема с выводом результатов.
С ключевым файлом miyp.php
Немогу понять как сделать вывод шаблона к коду.
Файл myip.php :
PHP Code:
<?php
/*=========================================*/
/* What Visited my profile */
/* For vBulletin 3.8.x */
/* by Stenli (http://HackForce.Ru ) */
/*=========================================*/
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'myip');
define('CSRF_PROTECTION', true);
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
'user',
);
// get special data templates from the datastore
$actiontemplates = array();
// pre-cache templates used by specific actions
$globaltemplates = array(
'myip_s'
);
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
$un1=&$vbulletin->userinfo['username'];
$rd=mysql_query("SELECT * FROM " . TABLE_PREFIX . "myip WHERE user_login = '".$un1."'
");
while($rop=mysql_fetch_array($rd){
echo''.$rop['ip'].' - '.$rop['date'].' ('.$rop['user_agent'].' )<br>';
Сообщствено прошу помощи людей,у которых есть навыки,опыт - помочь мне с выводом кода в шаблоне.
Сам шаблон есть в файле .xml и импортируется автоматически.
и сразу получаем дырку в безопасности... Иньекцию сделать очень просто. Надо экранировать данные в передаваемых sql-запросах. В данном случае $_SERVER["HTTP_USER_AGENT"] и user_login
Да и как вариант можно глянуть код самой булки там кстати все очень хорошо с описаниями и комментами внутри кода.
вместо $rd=mysql_query лучше использовать методы булки а именно $db->query
аналогично и с $rop=mysql_fetch_array
т.е. вместо
И еще - неэффективно использовать для хранения имя пользователя - не проще ли юзать userid? Имя же и смениться может.
@StenLi
На доске почёта Пожизненный блэк
Join Date: Aug 2008
Награды в конкурсах:
Posts: 2,729
Версия vB: 3.6.x
Reputation:
Expert 1991
Репутация в разделе: 636
0
Yoskaldyr, и это ты будешь говорить мне, где можно получить скулю а где нет?)))) гг
Quote:
И еще - неэффективно использовать для хранения имя пользователя - не проще ли юзать userid? Имя же и смениться может.
а вот за это спасибо! учту.
@Yoskaldyr
Специалист
Join Date: Jan 2007
Posts: 543
Версия vB: 4.0.x
Reputation:
Professional 556
Репутация в разделе: 166
0
StenLi, Я не учу, я просто говорю где уже есть дырка )))
Я без понятия какой код будет потом, когда будет полностью готов, но я просто предупредил, где уже есть прокол в безопасности
Yoskaldyr добавил 25.03.2010 в 16:28
Quote:
Originally Posted by StenLi
и это ты будешь говорить мне
И неужели у меня так много дырявых хаков? А если и есть дырки, то почему бы о них и не сообщить? Оффтоп
Можно в личку чтобы не засорять топик
А если речь идет о том что ты специализируешься по взломам (судя по твоему ресурсу), то это же не исключает того что ты и сам можешь наступить на собственные грабли. Все допускают ошибки и в программировании в том числе, главное уметь их признавать и по возможности исправлять.
Last edited by Yoskaldyr : 03-25-2010 at 05:43 PM.
Reason: Добавлено сообщение и еще добавлено
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,802
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20310
Репутация в разделе: 7743
1
Quote:
Originally Posted by StenLi
и это ты будешь говорить мне, где можно получить скулю а где нет?
ну если твой скрипт дырявый как решето, то почему бы не сказать?
@StenLi
На доске почёта Пожизненный блэк
Join Date: Aug 2008
Награды в конкурсах:
Posts: 2,729
Версия vB: 3.6.x
Reputation:
Expert 1991
Репутация в разделе: 636
0
kerk, было выложено для примера.чтоб люди если хотели бы помочь,то попробывали затестить и отредачить файл myip.php как нужно.
т.к. проблема именно с ним,а не с парочкой запросов\записей к бд
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,802
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20310
Репутация в разделе: 7743
1
ты считаешь, что дырки в "примере" стимулируют?
по моему, чем грамотней написан скрипт, тем больше желания в нем разбираться у тех, кто в этом "шарит" или нет?
на ошибки тебе указали, поправь, будем смотреть дальше...
@Yoskaldyr
Специалист
Join Date: Jan 2007
Posts: 543
Версия vB: 4.0.x
Reputation:
Professional 556
Репутация в разделе: 166
1
Quote:
Originally Posted by StenLi
то попробывали затестить и отредачить файл myip.php как нужно.
ответ на вопрос что именно надо отредактировать был уже во втором посте (пост Fedcomp-а). А если говорить более конкретно, то должно быть 2 шаблона - первый для отображения самой страницы (уже есть myip_s), второй для отображения строки результатов, надо создать, к примеру будет myip_s_bits (шаблон нужен чтобы не городить эти циклические echo - будет циклическое добавление к переменной $myipbits)
Т.е. вместо echo делаем что-то типа: eval('$myipbits.="' . fetch_template('myip_s_bits') . '";');
А в конце делаем (только не забыв добавить в шаблон myip_s переменную $myipbits)
eval('print_output("' . fetch_template('myip_s') . '");');
Я вообще себе ничего не ставлю предварительно не просмотрев код, т.к. по статистике более 70% кода всех vb хаков - мрак полнейший. Проверять код хаков перед установкой теперь у меня уже привычка.
Да и вообще зачем ставить если и так понятно что делает код (синтаксические ошибки в виде пропущенных или добавленных скобок, запятых и т.п. - не в счет)
Quote:
Originally Posted by StenLi
нужна помощь по правильному написанию скрипта под воблу.
И как мне кажется я ответил насчет специфики написания именно под воблу.
А именно: использовать функи мускуля напрямую совсем не универсально (может форум через mysqli настроен), лучше использовать предназначенные для этого методы, также я написал для примера как экранировать используя классы булки и самое главное было на чем это показать, т.к. понятно что код сырой и он не для продакшена. Т.е. в будущем я уверен автор запрос бы экранировал, но опять же скорее всего стандартными функами PHP, что не есть vb-стиль написания
@StenLi
На доске почёта Пожизненный блэк
Join Date: Aug 2008
Награды в конкурсах:
Posts: 2,729
Версия vB: 3.6.x
Reputation:
Expert 1991
Репутация в разделе: 636
0
Quote:
Originally Posted by Yoskaldyr
скорее всего стандартными функами PHP, что не есть vb-стиль написания
Ну вот для этого и я спрашиваю,читаю....очень трудно и неудобно начать писать под воблу.
за пост №9 спасибо