ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Сценарии/CMF/СMS
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Обзор уязвимостей Intraschool
  #1  
Старый 19.11.2009, 18:34
Shaitan-Devil
Участник форума
Регистрация: 15.08.2008
Сообщений: 167
Провел на форуме:
3009843

Репутация: 204
По умолчанию Обзор уязвимостей Intraschool

Собрал несколько найденных мной уязвимостей.
Небольшая CMS.
http://sourceforge.net/projects/intraschool/
1) Sql-injection
В скрипте login/login.php
PHP код:
<?php
  
// /login/login.php:  Login process
  // author: Jonathan Roes <jroes@sosdg.org>
  
  
include '../includes/common.inc';

  
$username $_POST['username'];
  
$password $_POST['password'];
  
  if (isset(
$username$password))
  {
     if (
authUser($username$password))
     {
         
$_SESSION['username'] = $username;
         
$_SESSION['password'] = $password;
  
         
$tourl $_POST['tourl'];
         if (!isset(
$tourl)) {
             
header('Location: /login/home.php');
             exit;
         } else {
             
header('Location: ' $tourl);
         }
     }
  }
  
  
header('Location: /login/index.php?error=1');             
?>
1) Уязвимое Header. После редиректа, код будет продолжать выполняться.

Последний раз редактировалось Shaitan-Devil; 19.11.2009 в 19:59..
 
Ответить с цитированием

  #2  
Старый 19.11.2009, 19:16
nikp
Reservists Of Antichat - Level 6
Регистрация: 19.09.2008
Сообщений: 127
Провел на форуме:
835386

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

Цитата:
Сообщение от Shaitan-Devil  
1) Уязвимое Location. После редиректа, код будет продолжать выполняться.
2) Данные не фильтруются.
Смотрим функцию authUser()
include/authUser
PHP код:
  $authQuery='
    SELECT userPasswd FROM '
._AUTH_DB_TABLE.' WHERE
      userId="'
.mysql_escape_string($userId).'" LIMIT 1
  '
;
  if (
$row['userPasswd']==md5($passwd)) { 
Фильтрация есть,
с $userId не сможешь выйти за кавычки.
 
Ответить с цитированием

  #3  
Старый 19.11.2009, 19:25
bug1z
Познающий
Регистрация: 07.05.2009
Сообщений: 64
Провел на форуме:
418218

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

Цитата:
1) Уязвимое Location. После редиректа, код будет продолжать выполняться.
Не вижу актуальности этой "уязвимости".

Цитата:
login/studentlogin.php

PHP код:
 if (!isset($_POST['studentid']) && !isset($_SESSION['studentid'])) {
      
// didn't enter anything!?
      
header('Location: /index.php');
      exit;
  } 
И снова, бажный Location.
Я наверное не совсем понимаю, ГДЕ ЗДЕСЬ УЯЗВИМОСТО???

Во первых: Location - это аргумент ф-и, дело не в нем.
Уязвимости имеет ф-я header(), но только в том случае, если после нее НЕ стоит exit или die, только в этом случае код продолжит свое выполнение и мы сможем подделать HTTP запрос.
Так ГДЕ ЗДЕСЬ УЯЗВИМОСТЬ?

Последний раз редактировалось bug1z; 19.11.2009 в 19:29..
 
Ответить с цитированием

  #4  
Старый 19.11.2009, 20:09
Shaitan-Devil
Участник форума
Регистрация: 15.08.2008
Сообщений: 167
Провел на форуме:
3009843

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

Сорри. Исправил. Буду искать еще.
 
Ответить с цитированием

  #5  
Старый 21.11.2009, 12:38
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Shaitan-Devil  
Собрал несколько найденных мной уязвимостей.
Небольшая CMS.
http://sourceforge.net/projects/intraschool/
1) Sql-injection
В скрипте login/login.php
PHP код:
<?php
  
// /login/login.php:  Login process
  // author: Jonathan Roes <jroes@sosdg.org>
  
  
include '../includes/common.inc';

  
$username $_POST['username'];
  
$password $_POST['password'];
  
  if (isset(
$username$password))
  {
     if (
authUser($username$password))
     {
         
$_SESSION['username'] = $username;
         
$_SESSION['password'] = $password;
  
         
$tourl $_POST['tourl'];
         if (!isset(
$tourl)) {
             
header('Location: /login/home.php');
             exit;
         } else {
             
header('Location: ' $tourl);
         }
     }
  }
  
  
header('Location: /login/index.php?error=1');             
?>
1) Уязвимое Header. После редиректа, код будет продолжать выполняться.
Где тут указана SQl-inj? Невижу уязвимого кода.
Какой код должен испоняться после header()?Там же конец файла :/
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обзор уязвимостей CMS [Joomla,Mambo] и их компонентов it's my Сценарии/CMF/СMS 184 15.06.2010 11:10
[ Обзор уязвимостей RunCMS ] Solide Snake Сценарии/CMF/СMS 37 13.05.2010 18:21
[ Обзор уязвимостей PHP-Nuke ] [53x]Shadow Сценарии/CMF/СMS 42 07.05.2010 19:07
[ Обзор уязвимостей #osCommerce# ] life_is_shit Сценарии/CMF/СMS 9 10.11.2009 17:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ