Використання і закриття уразливості php інклуд

. :( Next Generation Hackers Group) :. ngh.void.ru
стаття написана: vizor'om
----------------- | дата написання: 30/03/05 року
----- | контакти: gotius ([email protected]) and rel4nium ([email protected])
Використання і закриття уразливості php інклуд.
Мета статті полягає в тому, щоб показати тобі як виправити одну з різновиду php інклуд,
і як її використовувати.
про цю уразливість відомо давно, але і посій день вона все-таки зустрічається ...
Уразливість ця полягає в тому, що якщо в директорію сайту написаного на php підставити сторінку,
і невідоме розширення фала, то php відкриє вихідний текст документа, а це значить що ми зможемо
без проблем знайти в його исходнике пароль адміністратора. (хоча пароль не завжди можна відрити).
Наприклад, сайт має структуру відкриття сторінки такого виду:
www.victim.com/index.php?aux_page=aux1
дак ось якщо ми замість aux1 підставимо в aux_page = наприклад index.php то він нам видасть index.php,
(Буває що навіть без невідомого розширення скрипт показує нам вихідний код сторінки) а
якщо ми поставимо замість index.php index.inc то бажний скрипт обробить цей запит і виведе
нам Сорс сторінки індекс. А після того, як ти побачиш исходник індексного сторінки, можна знайти
ту сторінку, на якій записані паролі у відкритому вигляді!
наприклад:
www.victim.com/index.php?aux_page=connect.inc
це повинно нам вивести паролі, але вони можуть лежати і не в connect.inc, так що якщо ти добре
вивчиш Сорс, то можна вільно знайти паролі.
Це все ми можемо виконати за допомогою кривого скрипта на php, він може бути такого змісту:


Тепер змінної може бути присвоєно лише значення виду aux [0; ..] (наприклад aux1, aux44)
Після цього неможливо буде переглянути вихідний текст документа через php інклуд.
ps все скрипти наведені в статті вигадані, будь-відповідність з реальність неправда :)