Красиво же!
Monkey see, monkey do
Tuesday, 31 March 2020
Wednesday, 10 July 2019
Tuesday, 9 July 2019
0xh0731
Видос с OffZone 2019, где я рассказал о том как вломиться в систему развлечений отеля и заказать соседу утреннюю побудку %)
Tuesday, 6 February 2018
Wednesday, 10 January 2018
Captcha CTF
Эта затея зрела 4 года и наконец-то выродилась в готовый контест.
Контест был проведен в рамках ZeroNights 2017 и на мой взгляд прошел удачно!
Решаем его тут: http://captcha.cf/register
Врайтап тут: Задачки с ZeroNights 2017: стань королем капчи
Контест был проведен в рамках ZeroNights 2017 и на мой взгляд прошел удачно!
Решаем его тут: http://captcha.cf/register
Врайтап тут: Задачки с ZeroNights 2017: стань королем капчи
Tuesday, 26 July 2016
Способ расширения XSS payload-а
Забавно расширял XSS payload в Moodle. XSS росла из поля с Skype идентификатором(CVE-2013-4341) и была ограничена 50 символами минус нагрузка на спец символы.
Поэтому был выбран следующий подход:
1) Исполняем код из title(имя и фамилия)
" onerror='eval(document.title.substr(1,20)'>
2) В title держим код, который eval содержимое description поля
3) В description держим полезную нагрузку и код ответственный за конспирацию(возвращение в нормальное состояние полей и title)
А еще там была CSRF и можно было устроить Sammy-2 =)
Поэтому был выбран следующий подход:
1) Исполняем код из title(имя и фамилия)
" onerror='eval(document.title.substr(1,20)'>
2) В title держим код, который eval содержимое description поля
3) В description держим полезную нагрузку и код ответственный за конспирацию(возвращение в нормальное состояние полей и title)
А еще там была CSRF и можно было устроить Sammy-2 =)
Friday, 22 July 2016
Коротко об уязвимостях браузерных игр
Когда видишь игру, всегда хочется выиграть. Особенно если это еще какая нибудь промо-акция, то руки так и чешутся. А если попытаться выиграть изнутри?
Была такая игра от РЖД(сделанная за миллионы рублей): надо было вагоны отмывать от граффити. Игра на Flash и все взаимодействие с сервером заключалось в отправке количества очков, времени игры, аккаунта в VK и чего то еще HTTP методом на сервак. Подменой параметров можно было переместиться на первую строчку. Это первое на что я смотрю при анализе игр:
- какое взаимодействие с сервером
- в каком виде уходят параметры
- что они значат
Добавь они шифрование\проверочную сумму и они отсекут большую часть исследователей, мало кому хочется копаться в swf и искать ключ\алгоритм.
Как еще они могут защититься? Например добавить дополнительное взаимодействие с игрой:
- выход на следующий раунд
- приобретение дополнительных опций
- контроль времени начала и промежуточные точек
Это конечно усложнит игру и приведет к большей нагрузке на сервер, но опять таки отсечет большую часть читеров. Вот неплохая статья по защите просто игра на хабре.
Второй момент на который стоит глянуть, так это возможность изменения переменных в программе. Скачиваем какой нибудь Cheat Engine. Выбираем нужный нам процесс, интересную нам переменную и ищем, ищем, модифицируем.
Как можно защититься:
- избыточное хранение важных переменных
- шифрование важных переменных
- все это вкупе с обфускацией кода
Опять таки, таким образом мы откинем большую часть исследователей.
Как добиться наибольшей стойкости? Перенести всю игровую механику на серверную сторону, за клиентом оставить только отображение. Но такой подход возможен только для игр без большого экшена. Такой способ оставляет только одну возможность для читеров -- написание AI для игры. Это не всегда возможно. И тут можно добавить дополнительные проверки: человеческое поведение, тесты Тьюринга.
Какие интересные кейсы взлома браузерных игр были у вас?
Была такая игра от РЖД(сделанная за миллионы рублей): надо было вагоны отмывать от граффити. Игра на Flash и все взаимодействие с сервером заключалось в отправке количества очков, времени игры, аккаунта в VK и чего то еще HTTP методом на сервак. Подменой параметров можно было переместиться на первую строчку. Это первое на что я смотрю при анализе игр:
- какое взаимодействие с сервером
- в каком виде уходят параметры
- что они значат
Добавь они шифрование\проверочную сумму и они отсекут большую часть исследователей, мало кому хочется копаться в swf и искать ключ\алгоритм.
Как еще они могут защититься? Например добавить дополнительное взаимодействие с игрой:
- выход на следующий раунд
- приобретение дополнительных опций
- контроль времени начала и промежуточные точек
Это конечно усложнит игру и приведет к большей нагрузке на сервер, но опять таки отсечет большую часть читеров. Вот неплохая статья по защите просто игра на хабре.
Второй момент на который стоит глянуть, так это возможность изменения переменных в программе. Скачиваем какой нибудь Cheat Engine. Выбираем нужный нам процесс, интересную нам переменную и ищем, ищем, модифицируем.
Как можно защититься:
- избыточное хранение важных переменных
- шифрование важных переменных
- все это вкупе с обфускацией кода
Опять таки, таким образом мы откинем большую часть исследователей.
Как добиться наибольшей стойкости? Перенести всю игровую механику на серверную сторону, за клиентом оставить только отображение. Но такой подход возможен только для игр без большого экшена. Такой способ оставляет только одну возможность для читеров -- написание AI для игры. Это не всегда возможно. И тут можно добавить дополнительные проверки: человеческое поведение, тесты Тьюринга.
Какие интересные кейсы взлома браузерных игр были у вас?
Subscribe to:
Posts (Atom)