Условия задания гласят Welcome to the forum!
И ласково предлагают прогуляться по просторам простого форума без дизайна. Первоначально подумалось, что прохождение задания идет как стандартный взлом. Я вооружился уже привычной программой для SQLIJ через GET/POST запросы под названием Havij, полазил по нескольким имеющимся на форуме страницам, не нашел иньекций через GET-запросы. Потом начал рыться по POST-запросам и, примерно, с 4-й попытки мне повезло: я имел доступ к БД. Но, как ни странно, это ровным счетом ничего не значило по одной простой причине: в первую очередь програма отчиталась
Finding current data base
Length of 'Current DB' is 25
Current DB: ??u ???u????Q ??}????~x
Слегка насторожившись таким длинным названием БД, программа начала продолжать меня удивлять. Следующими строками были еще более настораживающими:
Table found: ??
Table found: ???
Table found: ????
Table found: ?????
Table found: _wfspro_admin
Table found: 4images_users
Table found: a_admin
Table found: account
Table found: accounts
Table found: ACT_INFO
Table found: ActiveDataFeed
Table found: ad
Table found: adm
Table found: admin
Table found: admin_id
Table found: admin_login
Table found: admin_name
Table found: admin_order
Table found: admin_orders
Table found: admin_pass
Table found: admin_password
Table found: admin_psw
Table found: admin_pwd
Table found: admin_user
Table found: admin_userid
Table found: admin_userinfo
Table found: admin_username
Table found: adminid
Table found: administer
Table found: administrable
Table found: administrables
Table found: administrate
Table found: administrateur
Table found: administrateurs
Table found: administration
Table found: administrator
Table found: Administrator
Table found: Administratoren
Table found: administrators
Table found: administrer
Table found: administrieren
Table found: Adminlogin
Table found: adminname
Table found: adminpass
Table found: adminpassword
Table found: adminpaw
Table found: adminpsw
Table found: adminpwd
Table found: adminrights
Table found: admins
Table found: Admins
Table found: adminstbl
Table found: admintbl
Table found: AdminUID
Table found: adminupass
Table found: adminuser
Table found: adminuserid
Table found: adminusername
Table found: Affichage1
............
и так далее, примерно еще 750 таблиц. Дальше нужно было как-то выудить хоть что-то из этих таблиц. Оказалось, что администраторы не побрезговали мало того, что напихать столько таблиц в БД, так еще и изощрились в названиях столбиков по 50-70 символов. Таким образом, взлом одного названия столбика таблицы занимал примерно секунд 40, что было крайне не приятно. После того, как программа просканировала все колонки одной таблицы, я попробовал прочитать данные всех колонок... И тут сканер БД показал большой народный фиг и сказал что не может ничего сосканировать.... Было печально...
Через 10 минут я опустился до брутфорса. Я уже знал, что для прохождения задания нужно залогиниться под ником админа, а их было несколько и только настоящий имел ник Admin (с учетом регистра). После получения админ-прав нужно было зайти на страницу
http://forum.hackq.ru/topic?id=1, куда не пускают простых смертных. Если туда не пускают пока админа не ломанешь - значит там ответ на задание.
Когда я в край опустился до ручного брутфорса и ручного перебора мускул-иньекций, мне вк постучался некий человек, который спросил по совета по поводу другого задания. Так уж вышло, что мы оба были почти на стадии решения задачи W1, но я не смог до конца сформулировать правильный вход к админу, а человек мне подсказал не правильный вариант, чем фактически выложил все козыри на стол. Оказалось все значительно проще, чем думалось: нужно было просто зайти на форму логинации
http://forum.hackq.ru/login.php и в поле login ввести
Admin'# , но не вводить никакого пароля. Редко такие виды взломов встречаются, но они есть. После ввода данного текста пользователь заходит под полными администраторскими правами и спокойно идет на ту самую заветную страницу с паролем для прохождения задания:
Solved, answer: VulnerableForum
Итак, задание пройдено, открыто задание W2, о котором я напишу позже.