Size: a a a

JavaScript — русскоговорящее сообщество

2020 April 26

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
getJson(path)
Потом это передается forEach для формирования дом-дерева элементов
И вот между этими двумя моментами человек просто вставил свою переменную и записал в нее жсонку
После чего просто сделал, допустим, console.log и получил полностью расшифрованный текст
источник

АК

Алексей Клименко in JavaScript — русскоговорящее сообщество
Flamie 🔥
getJson(path)
Потом это передается forEach для формирования дом-дерева элементов
И вот между этими двумя моментами человек просто вставил свою переменную и записал в нее жсонку
После чего просто сделал, допустим, console.log и получил полностью расшифрованный текст
А где у вас проверка, купил ли он контент?
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Он заходит в свой аккаунт. Мы чекаем, есть ли у него оплата, через запрос к апи Патреона. Если нам апи возвращает, что оплата есть, значит отдаем ему другой скрипт и другой жсон
источник

АК

Алексей Клименко in JavaScript — русскоговорящее сообщество
Flamie 🔥
И залил ее на пиратский сайт
То есть игра ещё и не многопользовательская, и так-то сервер ей не нужен.

НЕ, НУ ЭТО ЛОМАЕТСЯ
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Flamie 🔥
getJson(path)
Потом это передается forEach для формирования дом-дерева элементов
И вот между этими двумя моментами человек просто вставил свою переменную и записал в нее жсонку
После чего просто сделал, допустим, console.log и получил полностью расшифрованный текст
Есть ли способ это предотвратить?

Я не уверена что нас взламывал прям какой-то топовый спец
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Я думаю что если достаточно усложнить процесс, то он не будет париться
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Вебасма хватит?
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Или он тоже будет позволять вот так вот вставлять свой код в мой? И вытаскивать данные
источник

MM

Max Musatov in JavaScript — русскоговорящее сообщество
Flamie 🔥
getJson(path)
Потом это передается forEach для формирования дом-дерева элементов
И вот между этими двумя моментами человек просто вставил свою переменную и записал в нее жсонку
После чего просто сделал, допустим, console.log и получил полностью расшифрованный текст
Но это просто предположение, так? Я бы начал с его проверки
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Ну, мы посмотрели код, который он загрузил на пиратский сайт
источник

MM

Max Musatov in JavaScript — русскоговорящее сообщество
Flamie 🔥
Или он тоже будет позволять вот так вот вставлять свой код в мой? И вытаскивать данные
WASM отлаживать сложнее, поэтому атаковать скорее всего будут мост WASM<->JS
источник

MM

Max Musatov in JavaScript — русскоговорящее сообщество
То есть это может помочь, но зависит от того, как исполнить
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Там оно сделано в виде переменной, внутрь которой кладется жсон
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
И он эту переменную передает в код
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Что на самом деле странно, потому что можно было просто чисто жсонку передавать :)
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Поэтому мы подумали что он переменную и вытаскивал
источник

АК

Алексей Клименко in JavaScript — русскоговорящее сообщество
Max Musatov
WASM отлаживать сложнее, поэтому атаковать скорее всего будут мост WASM<->JS
Вот именно.

Найдёт точку var mysupersecretjson = myawesomewasmrequest() и консоль-логнет её.
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
Окей, давайте представим, что у меня каждый фрагмент сцены отдается аяксом. Насколько ему усложнит это задачу?
источник

АК

Алексей Клименко in JavaScript — русскоговорящее сообщество
Я знаю ещё один способ, но чтобы он вам подошёл – вам нужно:
1) популярность
2) пиар
3) демо-версия игры
источник

F🔥

Flamie 🔥 in JavaScript — русскоговорящее сообщество
У нас есть демоверсия
источник