169 похожих чатов

Друзья, нужна ваша помощь. Нашел LFI, но не могу докрутить. Суть

в том, что если запросить любой файл из папки, в которой работает этот скрипт, он скачается (и даже если указать ./filename, то все равно скачается).

Но если попытаться выйти на директорию выше, и выкачать оттуда 100% существующий файл, то сервак выдаёт 302 и редиректит на страницу 404, при этом заголовок Content-Disposition с запрошенным файлом есть, но контента файла нет)))
1 скрин показывает это

А если запросить несуществующий файл из другой директории, то возвращается 200 статус.
На 2 скрине видно это поведение

То есть сейчас импакт такой, что я могу только определить по коду ответа, есть файл на серваке или нет.

Но очень хочу докрутить до получения контента из файла, может у кого будут идеи как это можно реализовать?

24 ответов

158 просмотров
ㅤ-ㅤ Автор вопроса

попробуй response splitting

ㅤ-ㅤ Автор вопроса
b1b1Z3N*
попробуй response splitting

Если ты имеешь в виду попробовать вставить CRLF в путь к файлу, то так не сработает, так он не найдет нужного файла, и вернёт 200 код ответа. А в 200 коде нет заголовка Content-Disposition. Или я не так понял?

ㅤ ㅤ
Если ты имеешь в виду попробовать вставить CRLF в ...

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

Ну ты исходник скрипта который тебе файл отдает, скачал? Посмотрел что там по коду? Или директория откуда качается и директорая скрипта - разные?

А пробовал url кодировать? Или прописывать путь к файлу типа: ../../../../../../unexist_file_path/../../../../../exist_file_path

Arbitrary file reading) Но очень многие почему-то его lfi называют, что ошибочно

ㅤ-ㅤ Автор вопроса
Lipton Ice Tea
Ну ты исходник скрипта который тебе файл отдает, с...

Исходник скрипта нет возможности скачать, так как он в директории выше находится

ㅤ-ㅤ Автор вопроса
ss0wl
А пробовал url кодировать? Или прописывать путь к ...

Url кодировал, без результата. А вот unexist_file_path не делал, сегодня попробую и отпишу, спасибо!

ㅤ-ㅤ Автор вопроса
ss0wl
А пробовал url кодировать? Или прописывать путь к ...

Если в путь подставить папку, которая не существует в системе, а потом выйти из неё и попытаться достать существующий файл, то выдаёт 200 код, как будто файл не был найден...

ㅤ-ㅤ Автор вопроса
ㅤ ㅤ
screenshot

В общем, до получения контента файлов я так и не смог докрутить. Хотел узнать - какой можно указать импакт от этой баги? Я пришёл к тому, что можно перебором определить установленные в системе пакеты. А есть какие нибудь ещё импакты?

ㅤ ㅤ
В общем, до получения контента файлов я так и не с...

Нет там импакта((( Установленные пакеты, в твоём случае это пальцем в небо. Так как ты на 💯 не уверен правильный ли ты получаешь ответ. Я бы такое не сдавал конечно, но тут дело твое )

ㅤ-ㅤ Автор вопроса
Андрей Чернобров
Нет там импакта((( Установленные пакеты, в твоём с...

Почему же не могу быть уверен в правильности? Если я запрошу, например, /etc/apache2/apache2.conf, и мне сервер вернет 302, то этот файл там есть. Если вернёт 200, то его там нету) Или я что то не так понял?

ㅤ-ㅤ Автор вопроса
Андрей Чернобров
Ну запроси /etc/nginx/nginx.conf

Запросил, 302 вернуло) все как и должно быть

ㅤ ㅤ
Запросил, 302 вернуло) все как и должно быть

Тебя не смущает что у тебя 2 веб сервера ?

дак, и в чем проблема? можно и с десяток других напихать

reewardius' 🇺🇦
дак, и в чем проблема? можно и с десяток других на...

Я не сказал что не можно. Но это больше исключение чем правило. Как минимум Я бы призадумался на кой хрен на хосте несколько веб серверов

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта