Pull to refresh

Comments 55

Я не настоящий сварщик, но всегда было интересно, почему и как в безопасном мессенджере сниффится такой трафик. Существуют же всякие изощрения вроде ssl-pinning, который вроде как не позволит смотреть протокол, и корневой сертификат от root`а тут не должен спасать. Киньтесь плиз keyword`ами кто в курсе)
Просто ничего не мешает модифицировать приложение и отключить ssl-pinning.

Как это делается? Вообще очень не хватает хороших обзорных статей на тему реверс-инжиниринга на современных мобильных ос

конкретно в случае из статьи эта «уязвимость» называется открытым исходным кодом.
На Android любое приложение можно разобрать и пересобрать по щелчку пальца. Привязку к сертификату обычно делают в network_secury_config.xml, указывая SHA отпечаток сертификата или поставляя сам сертификат с приложением, либо в коде (можно делать автоматом инъекции при помощи Frida). Оба варианта легко убираются.
Под iOS не пробовал, но там наверное проблема будет скорее в установке модифицированного приложения, чем в его реверс-инжиниринге, хотя могу ошибаться. Тоже бы хотелось это узнать.
А вот интересно, что если приложение на андроиде использует проверку SafetyNet — то не получится изменить apk, и на рутованом телефоне запускать функционал (банковские приложения и тот же snapchat так делают...)
так здесь и не снифался трафик самого tdesktop
его исходники открыты. Факт отправки дампов найден в исходниках, а далее запросы подсмотрены на сервере.
ssl pinning легко обходится, даже если apk подписан и даже если в бинарнике) Но у телеги открытый код и ничего реверсить не надо, собирай свой кастомный клиент и пользуйся.
Заголовок кликбэйтный, молодец.
Описал хорошо, молодец.
Но чувак с дурацкой self xss на макдаке набрал больше плюсиков(
В моем блоге у меня больше плюсиков, чем у того чувака
Но чувак с дурацкой self xss на макдаке набрал больше плюсиков(

Вы о ком?

я решил немного перебрать файлы с этим расширением, тогда я и наткнулся на info.php, где было содержимое функции phpinfo()

Как и зачем такое бывает?
Многие разработчики используют функцию phpinfo() чтобы проверить, если всё настроено должным образом. Проблема в том, что некоторые разработчики создают незащищённый PHP файл в корень сайта и в качестве имени файла используют info.php, i.php, phpinfo.php и другие «легко угадываемые слова». Kонечно же, всё усложняется, когда разработчики забывают удалить созданный файл.

Например, Google может подсказать, насколько распространена данная практика:
intitle:phpinfo "safe_mode_exec_dir" // About 96,100 results (0.23 seconds)
Да и кто использует apache в 2019?

Я использую :') На всякий случай проверил, /server-status и /status возвращают 404.
UFO just landed and posted this here

Apache это legacy больше чем наполовину (а может быть даже и 90%), и меньше половины — полезный функционал. Тащить эти лишние больше-половины как минимум оверхед а вообще это ещё и небезопасно ибо легко промахнуться с их настройками.
И это не в 2019 году началось а уже наверно лет 10 как назад.
Но инерция очень велика, и во всяких популярных готовых веб-приложениях типа "скачал и прокликал next-next-next в веб-установщике" до сих пор на первом месте стоят инструкции как их ставить под апачем, а большинство веб-сайтов именно таким образом и делаются.

UFO just landed and posted this here

Это ничего не означает. Инерция мышления она просто огромная. А раз так, то есть спрос на эти образы, но это совершенно не означает, что это правильно.
Более того — .htaccess можно относительно легко переписать на rewrite правила nginx и с точки зрения конфигурации это будет более безопасно и более быстро высчитываться.

Очень многие люди. Связка NGINX и Apache. Апач все-же больше имеет крутилок для настройки.

Вот в качестве примера хостинг панель. Я если честно как-то растерялся зачем по умолчанию 2 сервака, но из коробки они работают так.

vestacp.com/docs/#config-log-location-rhel-centos
UFO just landed and posted this here
.htaccess хорош лишь тем, что считывается и выполняется при каждом запросе. Не нужно перезапускать сервис при динамическом изменении конфигурации.

VestaCP вполне удовлетворительно живёт и без апача на беке — вариант nginx+php-fpm
А в варианте, если php поднять до 7.3, скорость обработки php файлов начинает превышать скорость hhvm.

Если без .htaccess нельзя обойтись в проекте, то лучше использовать LightSpeed, который их умеет понимать и работает с сопоставимой с nginx скоростью и скромностью.
Но все мы ленивые, а в bug bounty я вообще стараюсь не участовать, поэтому все осталось как есть.

Не поленились и 2000 баксов заработали. Лень, признак гениальности?
Спасибо за урок.

Сразу переименовал свой server-status.
И добавил в несколько ходовых файлов для атак
index.php, user.php, phpinfo.php elrekt.php, config.php

команду
'iptables -A INPUT -s '.$_SERVER['REMOTE_ADDR'].' -j DROP'

Команда уходит в очередь заданий и через пару секунд блокирует IP

Плюс все GET, POST, SESSION переменные фильтруются на подозрительные строки
$s=str_replace('/*', 'xx', $s);
$s=str_replace('*/', 'xx', $s);
$s=str_replace('../', 'xxx', $s);
$s=str_replace('..\\', 'xxx', $s);
$s=str_ireplace('file:', 'xxxxx', $s);
$s=str_ireplace('http:', 'xxxx', $s);
$s=str_ireplace('https:', 'xxxxx', $s);
$s=str_ireplace('script', 'xxxxxx', $s);
$s=str_ireplace('delete', 'xxxxxx', $s);
$s=str_ireplace('drop', 'xxxx', $s);
$s=str_ireplace('select', 'xxxxxx', $s);
$s=str_ireplace('update', 'xxxxxx', $s);
$s=str_ireplace('replace', 'xxxxxxx', $s);
$s=str_ireplace('/etc/', '/xxx/', $s);
$s=str_ireplace('/var/', '/xxx/', $s);
$s=str_ireplace('/root/', '/xxxx/', $s);
$s=str_ireplace('/bin/', '/xxx/', $s);
$s=str_ireplace('/usr/', '/xxx/', $s);
$s=str_ireplace('/sys/', '/xxx/', $s);
$s=str_ireplace('/sbin/', '/xxxx/', $s);
$s=str_ireplace('/proc/', '/xxxx/', $s);
$s=str_ireplace('/boot/', '/xxxx/', $s);

Вы же понимаете, что если бы Хабр выполнял такие же замены, вы бы просто не смогли написать этот комментарий здесь?

не спорю, данный совет не для всех подходит
у меня будет непубличный сайт для десятка приглашенных людей, поэтому многие вещи не актуальны

С таким подходом проще отключить сервер

И добавил в несколько ходовых файлов для атак
index.php, user.php, phpinfo.php elrekt.php, config.php

команду
'iptables -A INPUT -s '.$_SERVER['REMOTE_ADDR'].' -j DROP'

В итоге конкурент у себя поставит картинку <img src="//вашсайт.ру/phpinfo.php">, и вы начнете банить своих клиентов

До этого надо догадаться. Обычно атакуют просто боты. Вчера из Китая какой-то долбился, перебирал url. При этом я сайт нигде не рекламировал и никому еще ссылку не передавал. Это просто небольшая разработка на пару страниц.
UFO just landed and posted this here
попробуйте сломать, могу адрес дать.
это не прод, будет интересно, как он переживет…

ваш пост навел на мысль, что надо еще immutable атрибут поставить на файлы, чтобы ломать было сложнее.
image
А также что-то ещё и много отваги.

До этого надо догадаться. Обычно атакуют боты

Это ж типичная ошибка: «security through obscurity».
Вы подумайте кто этих ботов пишет. Даже если они ломятся из китая, это не значит, что они китайские, а их автор не читает Хабр.

Короче, крайне непрофессионально надеяться, что взломщик не догадается о какой-то вашей уязвимости. Латать же дыру в палубе туалетной бумагой надеясь, что волна не догадается… Ну так то до первой волны, сударь.
эх.
Ну так, взломайте, подтвердите свои слова.

Тыщу рублей дам, если достучитесь до базы.
То есть если я не смогу «достучаться» до вашей базы, это будет хорошим для вас свидетельством надежности вашего сервера и отсутствия в нем уязвимостей?
Выглядит, как еще одна ошибка — попытка нанять непрофильного специалиста для пентеста вашего непубличного сайта с плохими архитектурными решениями внутри…
Это слишком маленькая сумма, чтобы оплатить моё время на эту задачу, сударь.
Я утвердился в актуальности картинки из моего комментария выше.
желаю дальнейших успехов
все банальнее. человек оценивает важность информации на сервере в «тыщу рублей». следующий коммент после взлома будет «ну и пусть что взломали, все равно там ничего важного нет».
Другими словами «и так сойдёт».
предложите свою сумму
ну я думаю по лайтовому в сотню можно уложиться. естественно, за отчет независимо от результата
теперь подумайте, — кто захочет ломать, если трудоемкость такая большая? только боты, которые за бесплатно обстукивают.
(именно краш-дампы без информации об айдишнике в телеграме, телефоне, сообщениях и чатах) — сомнительная ценность

А собственно почему, это же креш-дамп клиента,
так и данные из стека и из кучи,
и какие-то переменные вполне могут содержать и ид и ключи
и конфиденциальную переписку.
Или там только backtrace?

Как можно вообще доверять приложению, безопасность которого подтверждается только словами разработчика и опровергается отчетами специалистов?
Возможно, когда-нибудь телеграмм и станет безопасным, но вот когда…
А в других месенджерах ситуация принципиально другая?

Другие мессенджеры никто не позиционирует как единственную настоящую безопасность, анонимность и приватность.

Лично мне всё равно кто как себя позиционирует, это лишь маркетинг. По факту любой мессенджер может быть однажды взломан. Всё что нам остаётся лишь верить разработчикам. Поэтому я вообще не вижу разницы в этом плане между мессенджерами.
Поэтому я вообще не вижу разницы в этом плане между мессенджерами.

Но "мессенджеры" которым не нужно знать твой номер телефона по-моему
лучше. По крайней мере не так легко связать взломанный аккаунт и конкретного человека.

а такие мессенджеры еще остались?
Старый добрый jabber? (если еще жив). Другое дело, что нынешних юзеров туда не заманить.

Есть ещё надстройка над email, Delta chat

Официально телега тоже этого не обещает, а вот журналисты...

Как можно вообще доверять приложению, безопасность которого подтверждается только словами разработчика и опровергается отчетами специалистов?


это особая магия — уметь убеждать и пускать пыль в глаза :)
Удивительно, насколько простой и очевидной выглядит описанная последовательность действий. Хотя, это только кажущиеся простота и очевидность))
Sign up to leave a comment.

Articles