Comments 55
Как это делается? Вообще очень не хватает хороших обзорных статей на тему реверс-инжиниринга на современных мобильных ос
Под iOS не пробовал, но там наверное проблема будет скорее в установке модифицированного приложения, чем в его реверс-инжиниринге, хотя могу ошибаться. Тоже бы хотелось это узнать.
его исходники открыты. Факт отправки дампов найден в исходниках, а далее запросы подсмотрены на сервере.
Описал хорошо, молодец.
Но чувак с дурацкой 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.
Apache это legacy больше чем наполовину (а может быть даже и 90%), и меньше половины — полезный функционал. Тащить эти лишние больше-половины как минимум оверхед а вообще это ещё и небезопасно ибо легко промахнуться с их настройками.
И это не в 2019 году началось а уже наверно лет 10 как назад.
Но инерция очень велика, и во всяких популярных готовых веб-приложениях типа "скачал и прокликал next-next-next в веб-установщике" до сих пор на первом месте стоят инструкции как их ставить под апачем, а большинство веб-сайтов именно таким образом и делаются.
Это ничего не означает. Инерция мышления она просто огромная. А раз так, то есть спрос на эти образы, но это совершенно не означает, что это правильно.
Более того — .htaccess можно относительно легко переписать на rewrite правила nginx и с точки зрения конфигурации это будет более безопасно и более быстро высчитываться.
Вот в качестве примера хостинг панель. Я если честно как-то растерялся зачем по умолчанию 2 сервака, но из коробки они работают так.
vestacp.com/docs/#config-log-location-rhel-centos
VestaCP вполне удовлетворительно живёт и без апача на беке — вариант nginx+php-fpm
А в варианте, если php поднять до 7.3, скорость обработки php файлов начинает превышать скорость hhvm.
Если без .htaccess нельзя обойтись в проекте, то лучше использовать LightSpeed, который их умеет понимать и работает с сопоставимой с nginx скоростью и скромностью.
Не поленились и 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">, и вы начнете банить своих клиентов
это не прод, будет интересно, как он переживет…
ваш пост навел на мысль, что надо еще immutable атрибут поставить на файлы, чтобы ломать было сложнее.
А также что-то ещё и много отваги.
До этого надо догадаться. Обычно атакуют боты
Это ж типичная ошибка: «security through obscurity».
Вы подумайте кто этих ботов пишет. Даже если они ломятся из китая, это не значит, что они китайские, а их автор не читает Хабр.
Короче, крайне непрофессионально надеяться, что взломщик не догадается о какой-то вашей уязвимости. Латать же дыру в палубе туалетной бумагой надеясь, что волна не догадается… Ну так то до первой волны, сударь.
эх.
Тыщу рублей дам, если достучитесь до базы.
Выглядит, как еще одна ошибка — попытка нанять непрофильного специалиста для пентеста вашего непубличного сайта с плохими архитектурными решениями внутри…
Это слишком маленькая сумма, чтобы оплатить моё время на эту задачу, сударь.
Я утвердился в актуальности картинки из моего комментария выше.
(именно краш-дампы без информации об айдишнике в телеграме, телефоне, сообщениях и чатах) — сомнительная ценность
А собственно почему, это же креш-дамп клиента,
так и данные из стека и из кучи,
и какие-то переменные вполне могут содержать и ид и ключи
и конфиденциальную переписку.
Или там только backtrace?
Возможно, когда-нибудь телеграмм и станет безопасным, но вот когда…
Другие мессенджеры никто не позиционирует как единственную настоящую безопасность, анонимность и приватность.
Официально телега тоже этого не обещает, а вот журналисты...
Как можно вообще доверять приложению, безопасность которого подтверждается только словами разработчика и опровергается отчетами специалистов?
это особая магия — уметь убеждать и пускать пыль в глаза :)
Как я Telegram ломал