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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   RDS - ReduKToR Blog System (https://forum.antichat.xyz/showthread.php?t=167816)

ReduKToR 02.01.2010 23:19

RDS - ReduKToR Blog System
 
ReduKToR Blog System Версия 0.9 alpha [path1]


Что нового в версии 0.9:
[+] - Mod_Rewrite
[+] - Добавлена возможность перехода к полной версии новости.(new)
[+] - Профиксены на сегодняшний день,все известные-найденные уязвимости в коде.
[+] - Добавленая шаблонизация*
[+] - Все настройки теперь можно изменить в файле core.php,а не лазить по файлам.
[+] - Изменен основной дизайн проекта.
*Читать пункт ниже.
[+]Установка:
- Создайте Базу данных в PHPmyAdmin
- Пропишите данные в файле CORE.PHP
- В адресной строке браузера пропишите http://ВАШ-САЙТ.ру/install.php
- После успешной установки удалите файл INSTALL.PHP из папки со скриптами
- Потом перейдите по адресу http://ВАШ-САЙТ.ру/admin/admin.php По умолчанию Логин:admin Пароль:1admin1
- Обязательно измените его,отредактировав сам файл core.php который находится в папке includes
- После успешного входы,вы можете начать добавлять новости и редактировать свежезарегистрированных пользователей

[+]Юзабилити:
- Все действия проиходят из панели администратора.
- Для редактирвоания фраз\параметров и т.д Необходимо Править сами файлы php
-Для смены шаблона,достаточно отредактировать файлы .tpl Который находятся в папке templates .

Внимание: Это не пиар скрипта,и не выепистость как некоторые думают.Я выложил скрипт, чтобы найти помощи,а именно, я очень прошу вас проверить скрипт на уязвимости, показать все недочеты и баги.



ReduKToR 02.01.2010 23:26

Deathdreams,ну если учитывать ,то что у меня знаний по php не так много,то ...

ПС.у меня тоде быдло код, без учтения всяких норм и стандартов, но работает!

Deathdreams 02.01.2010 23:29

Строка 74 - подключение к мускулю. (index.php)
Зачем 2 раза подключатся, если в core.php уже создано подключение?

ReduKToR 02.01.2010 23:30

[Raz0r],стеб не уместен,бро....
Я не к чему никого не побуждаю....Просто решил создать тему)
Я например не люблю эти здоровенные блоги,в которых много чего не понятно и не нужно

ReduKToR 02.01.2010 23:33

Цитата:

DLE чистый
Ты меня смешишь пацан, а <?PHP и ?> я у дле случаем не спизидил?

warlok 02.01.2010 23:36

если сам критику непереносиш то и неп***и что у других быдлокод.

ReduKToR 02.01.2010 23:39

warlok,я переношу критику)Причем уже исправил недочет указанный во втором посте)

Причем заметь,я не отрицаю,что у меня код написал не по нормам......

Gifts 03.01.2010 00:55

ReduKToR SQL inj, XSS, обход авторизации. И это только на первый взгляд

Deathdreams 03.01.2010 01:01

Gifts
Да, Инъекции там везде и всюду.
Данные обрабатывать нужно.

ReduKToR 03.01.2010 09:47

Gifts,ну так исправим......................

xxx-xxx 03.01.2010 22:32

шаблонов нет =(

а это вообще ужос
PHP код:

mysql_query("INSERT INTO `blog`.`users` (`name` ,`password` ,`email` ,`homepage` ,`icq` ,`ip` ,`date`) VALUES ('".$_POST['name']."', '".$_POST['pass']."', '".$_POST['email']."', '".$_POST['homepage']."', '".$_POST['icq']."', '".$_SERVER['REMOTE_ADDR']."', '".date("d.m.Y")."');"); 


LStr1ke 03.01.2010 22:56

Для "Бета 0.5" нормально ))))

Vlad&slav 04.01.2010 14:09

Я на локалке запустил, даж зарегаться не смог :D Почемуто 2 раза поле с регистрацией+кидает не на главную сайта а на гл локалхоста.
Идея мне нрав. Если закрыть уязвимости будет норм.

ps. Я код через выравниватель (Клац) пропустил, получилось красивей

ReduKToR 05.01.2010 16:59

Обновил первый пост.Просьба всех прочитать.


За поправки\комментарии всем большое спасибо!
Огромный респект человеку с ником: Deathdreams
Также Ctacok,b3 и другим....

Gifts 05.01.2010 22:06

ReduKToR Вы получаете садомазохистское удовольствие, когда ваши поделки поливают дерьмом? Прежде чем срать "обновленными" версиями - проверьте, хотя б, что скрипты хоть минимально работают. Например, в админку - тупо не зайти. Защита, которую, видимо, вам посоветовали поставить - делает скрипты еще более уязвимыми. Потому что SQL-inj теперь возможна с ВКЛЮЧЕННЫМИ magic_quotes. То же самое с XSS - они вообще всегда теперь работают

ReduKToR 10.01.2010 10:47

UPDATE......New version. view post #1

Gifts 10.01.2010 16:17

ReduKToR http://forum.antichat.ru/thread30641.html Прочитать внимательно 1 и 19 посты. ВНИМАТЕЛЬНО. Сходить сделать чаю/покурить/пописать. Прочитать еще раз. Попытаться понять. Повторять последние два пункта до полного понимания.

Потом собраться с силами и отягощенные новыми знаниями - переписать весь код, убрать долбанную "фильтрацию" (я кстати ошибся, ее можно обойти при любой установке magic_quotes).

З.Ы. И попробуйте писать красивый код, отступы отсутствие лишних инклудов, лишних точек в путях и так далее

m0Hze 10.01.2010 17:55

Я промолчу про фильтрацию,она непоколебима.
Ты меня раззодорил,я даже сел и написал замену своему Вп на блоге,скоро запущу,вот только систему модулей продумаю :o

m0Hze 10.01.2010 18:07

Небольшая рецензия,может поможет когда нибудь.
File: members.php
PHP код:

$userid intval($_GET['userid']); 

Может быть стоит сначала проверить установлена ли переменная?А уже после делать запросы.

File: search.php
PHP код:

echo "<input type='text' size=48 name='search' value='" . (isset($_POST['search'])?$_POST['search']:'') . "'>"

Помоему это xss.Демотивирует,да?
...
PHP код:

$search trim($search);
$search stripslashes($search);
$search htmlspecialchars($search);
$result mysql_query("SELECT * FROM news WHERE publish='1' AND MATCH(announce) AGAINST('$search')"); 

Кеп в ахуе.


File: news.php
PHP код:

$news intval($_GET['news']); 

Ну и правильно! На*** нужно вообще ети проверки на иссет,емпти? Кто это придумал? Тоже так считаю.

File: login.php
PHP код:

  $query "SELECT password FROM users WHERE name='".$_POST['name']."'"

Тут я даже удивился.Вроде бы везде ты заюзал "фильтрацию",а тут вдруг хуяг и блинд инжект.
Далее,если мы тупы,и не смогли провести тут инъекцию,он нам кагбе дает второй шанс.
PHP код:

 $_SESSION['login'] = $_POST['name']; 
           
$_SESSION['password'] = $_POST['password']; 

Возрвращаемся в news.php
PHP код:

$query "UPDATE session SET putdate = NOW(), 

                                 user = '
$_SESSION[user]

              WHERE id_session = '
$id_session'"

    
mysql_query($query); 

Пиу-пиу.
File: index.php
PHP код:

if (isset($_GET['act'])) {
    if (
$_GET['act'] = 'add') {
        if (empty(
$_POST['name']) || empty($_POST['text'])) {
            die(
'<div class=error>Обнаруженны пустые поля!</div>');
        } else {
            
$name htmlspecialchars($_POST['name']);
            
$text htmlspecialchars($_POST['text']);
            
$id intval($_POST['id']);

            
$name mysql_real_escape_string($name);
            
$text mysql_real_escape_string($text);
            
$id mysql_real_escape_string($id);
            
$name iconv("UTF-8""WINDOWS-1251"$name);
            
$text iconv("UTF-8""WINDOWS-1251"$text);
            
$ip $_SERVER['REMOTE_ADDR'];
            
$date date("m.d.y H:i:s"); // 03.12.01  17:16:17
            
$query "INSERT INTO `comments`(`id`,`name`,`text`,`ip`,`date`) VALUES('$id','$name','$text','$ip','$date')"

Блио, я один считаю что htmlspecialchars(), обычно юзают на оут-те данных? И ладно бы она помогала от скуль,так она даже ' не тронет кагбе, ога да?

Вердикт: Смешать с говном,подать на стол.

Gifts 10.01.2010 19:29

m0Hze Многовато пафоса и ничего значимого, кроме раскрытия путей вы и не нашли. Очень интересно, как вы проведете инъекцию в login.php. Насчет xss в search.php - не уверен, конечно, что не будет работать, но тоже интересно

htmlspecialchars в index.php защищает от XSS при выводе, конечно неправильно портить данные в БД - но пусть.

ReduKToR Ваша стандартная проблема - ваша поделка - не работает. Где-то лишние точки в относительных путях, где-то BOM запись в начале файла, не дающая использовать сессии

ReduKToR 10.01.2010 19:49

m0Hze,ты лолка парень............
Gifts,можешь в асю мне стукануть?!)есть пару вопросов.......

m0Hze 10.01.2010 21:00

Цитата:

Сообщение от Gifts
m0Hze Многовато пафоса и ничего значимого, кроме раскрытия путей вы и не нашли. Очень интересно, как вы проведете инъекцию в login.php. Насчет xss в search.php - не уверен, конечно, что не будет работать, но тоже интересно

htmlspecialchars в index.php защищает от XSS при выводе, конечно неправильно портить данные в БД - но пусть.

ReduKToR Ваша стандартная проблема - ваша поделка - не работает. Где-то лишние точки в относительных путях, где-то BOM запись в начале файла, не дающая использовать сессии

В чем проблема проведения инъекта в login.php?
В том что:
PHP код:

$array = array(
'union' => strrev('union'),
'select' => strrev('select'),
'+' => 'plus',
'document.cookie' => '',
'alert' => '',
"'" => ""); 

PHP код:

foreach($_POST as $key => $value){

        
$_POST[$key] = urldecode($value);

            
$_POST[$key] = strtr($value$array);

                    } 

?
Сейчас установлю,и постараюсь показать наглядно.

Gifts 10.01.2010 21:05

m0Hze Угу, полное отсутствие кавычек - не позволит выйти за пределы запроса с одним только параметром. От двух параметров - да, там можно сделать что угодно при любой установке магических_кавычек

m0Hze 10.01.2010 21:25

Цитата:

Сообщение от m0Hze
В чем проблема проведения инъекта в login.php?
В том что:
PHP код:

$array = array(
'union' => strrev('union'),
'select' => strrev('select'),
'+' => 'plus',
'document.cookie' => '',
'alert' => '',
"'" => ""); 

PHP код:

foreach($_POST as $key => $value){

        
$_POST[$key] = urldecode($value);

            
$_POST[$key] = strtr($value$array);

                    } 

?
Сейчас установлю,и постараюсь показать наглядно.

Ска, незаметил что кавычка фильтруеться :(
"'" незаметил,признаю свою ошибку Ж(
Но фильтр все равно бяка,например uni'on = union, UniOn = union, seleunionct = select, :(
Кагбе тут я извиняюсь,но я докапаюсь до правды :o
Пысы, некошерно пользовать <?, мой вебсервер их не понемает =(
=( До,гифт прав,раскрытия онли.Ковычку неудалось подмеить даже двойным кодированием :(
Пойду поем для разнообразия.

[Life] 10.01.2010 21:44

я думаю что для бетки это норм.

Gifts 10.01.2010 22:13

m0Hze Плохо смотрите, есть там инъекция, работающая при любой установке кавычек и дающая нам активную XSSку и читалку файлов, например. Причем именно благодаря фильтру

ReduKToR 11.01.2010 07:42

Gifts,может подскажешь где?
я бы ее устранил)
[Life],это альфа)


Время: 21:40