PDA

Просмотр полной версии : [Прочее] pENCODE



KrutoyKrosch
03.05.2017, 10:01
pENCODE - Шифрование данных для серверов SA:MP и сайтов

https://pp.userapi.com/c636326/v636326947/7a0d7/_kd1kyr0iiA.jpg

Описание:

Перед нами задача - зашифровать данные в моде и потом прочитать их на сайте. Решение этому дает сайт pENCODE. Вы можете запросто отправить на него запрос с сервера SA:MP или с вашего сайта, который pENCODE выполнит и вернет ответ - расшифрованную или зашифрованную строку. На данных момент сервис находиться на стадии тестирования. Хочу обратить ваше внимание, что сервис именно шифрует данные, а не хеширует.

Документацию вы можете найти тут: http://pencode.ga/code/api.html

Сайт разработки: http://pencode.ga
Сайт разработчика: https://gawesome.ru

Batya_Montes
03.05.2017, 12:26
А смысл ? Есть много разных плагинов для хеша, а доверять какому-то ноунейм сервису на бесплатном домене (не удивлюсь если и хостинг такой же) слишком подозрительно ... Поставить плагин на мд5 и склеить соль с любой строкой куда легче, чем юзать ваш подозрительный сервис да еще и медленную функцию HTTP..

KrutoyKrosch
03.05.2017, 12:32
А смысл ? Есть много разных плагинов для хеша, а доверять какому-то ноунейм сервису на бесплатном домене (не удивлюсь если и хостинг такой же) слишком подозрительно ... Поставить плагин на мд5 и склеить соль с любой строкой куда легче, чем юзать ваш подозрительный сервис да еще и медленную функцию HTTP..

ХЕШИРОВАНИЕ и ШИФРОВАНИЕ две разные вещи. И что если бесплатный? Плагин? А ну ок, переписывай тогда еще плагин под сайт.

https://ru.wikipedia.org/wiki/Хеширование
https://ru.wikipedia.org/wiki/Шифрование

ziggi
03.05.2017, 12:47
Шифровать данные на третьей стороне - не лучшая идея. Более того, в данном случае данные по сети передаются в открытом виде, что убирает какой-либо смысл в шифровании.

KrutoyKrosch
03.05.2017, 12:51
Шифровать данные на третьей стороне - не лучшая идея. Более того, в данном случае данные по сети передаются в открытом виде, что убирает какой-либо смысл в шифровании.

У меня была идея сделать еще личный кабинет и секретное слово и чтобы пользователь его передавал сайту в md5. А так если, то мне не сложно HTTPS поставить

Batya_Montes
03.05.2017, 12:56
ХЕШИРОВАНИЕ и ШИФРОВАНИЕ две разные вещи. И что если бесплатный? Плагин? А ну ок, переписывай тогда еще плагин под сайт.

https://ru.wikipedia.org/wiki/Хеширование
https://ru.wikipedia.org/wiki/Шифрование

Зачем переписывать ? Мне готового base64 хватает ;)

ziggi
03.05.2017, 12:57
У меня была идея сделать еще личный кабинет и секретное слово и чтобы пользователь его передавал сайту в md5.
Но пользователю всё-равно нужно доверять тебе.


А так если, то мне не сложно HTTPS поставить
Поставить то можно, но вот SA-MP не поддерживает HTTPS запросы.


Зачем переписывать ? Мне готового base64 хватает ;)
base64 это не шифрование, а кодирование.

DeimoS
03.05.2017, 13:03
Может я чего не понимаю, но в чём смысл от шифрования данных пользователей? Тем более, с использованием каких-либо сторонних методов шифровки, которыми может воспользоваться любой желающий. Проще уж сразу в открытом виде хранить, не? Попахивает желанием воровать пароли при нужде (не у сервиса, а у тех, кто выбирают шифрование)

ziggi
03.05.2017, 13:28
Может я чего не понимаю, но в чём смысл от шифрования данных пользователей? Тем более, с использованием каких-либо сторонних методов шифровки, которыми может воспользоваться любой желающий. Проще уж сразу в открытом виде хранить, не? Попахивает желанием воровать пароли при нужде (не у сервиса, а у тех, кто выбирают шифрование)

Ну, к примеру на сервере есть "записная книжка", игрок её может читать и изменять. И для того, чтобы защитить данные, в случае кражи БД, можно применить шифрование.

DeimoS
03.05.2017, 13:32
Ну, к примеру на сервере есть "записная книжка", игрок её может читать и изменять. И для того, чтобы защитить данные, в случае кражи БД, можно применить шифрование.

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

ziggi
03.05.2017, 14:13
Но, опять же, если это делать при помощи подобных сервисов, то какой в этом смысл? Особенно если такой сервис наберёт популярность.
Как по мне, алгоритмы шифрования следует вшивать прямо в скрипт, изменяя его на свой лад.

Согласен. Но автор, видимо, использует этот сервис в своём сервере, а это вполне приемлемо.

KrutoyKrosch
03.05.2017, 19:35
Согласен. Но автор, видимо, использует этот сервис в своём сервере, а это вполне приемлемо.

Но опять же, Pawn и PHP два разных языка, в PHP есть функции которые нет в Pawn и наоборот. Как вы представляете систему шифрования, чтобы можно было зашифровать в моде, а расшифровать на сайте?

+ Как можно перехватить данные если они передаются через метод POST? Может я конечно чего-то не знаю, но хз.

ziggi
03.05.2017, 20:00
Но опять же, Pawn и PHP два разных языка, в PHP есть функции которые нет в Pawn и наоборот. Как вы представляете систему шифрования, чтобы можно было зашифровать в моде, а расшифровать на сайте?

На обоих языках можно реализовать любые методы шифрования, разница будет лишь в производительности.


+ Как можно перехватить данные если они передаются через метод POST? Может я конечно чего-то не знаю, но хз.

На сетевом уровне. Вот небольшая статья, в которой показано на сколько просто это можно сделать: https://networkguru.ru/wireshark-perekhvat-paroley

KrutoyKrosch
03.05.2017, 20:25
На обоих языках можно реализовать любые методы шифрования, разница будет лишь в производительности.



На сетевом уровне. Вот небольшая статья, в которой показано на сколько просто это можно сделать: https://networkguru.ru/wireshark-perekhvat-paroley

Но это же на локальной сети я так понял, если у тебя стоит хороший хостинг, то тебе бояться нечего.

DeimoS
03.05.2017, 20:30
Но это же на локальной сети я так понял, если у тебя стоит хороший хостинг, то тебе бояться нечего.

Так это ведь лишь элементарный пример того, насколько развита область перехвата трафика :)

Web
03.05.2017, 23:31
Ну а как же mitm? Вообще, оно того не стоит. Сервис бесполезен, имхо. Если есть необходимость в хешировании/шифровании то это лучше делать на своей стороне.

KrutoyKrosch
04.05.2017, 05:03
Так это ведь лишь элементарный пример того, насколько развита область перехвата трафика :)

Ну тогда можешь еще скажешь что можно перехватывать пакеты САМПа и мешать игрокам нормально играть? Что-то же никто до этого не додумался

KrutoyKrosch
04.05.2017, 07:20
+ передача данных с mysql происходит похожим образом, что-то же никто не перехватывает? разве не так?

Batya_Montes
04.05.2017, 08:36
Ну тогда можешь еще скажешь что можно перехватывать пакеты САМПа и мешать игрокам нормально играть? Что-то же никто до этого не додумался

Эм, Америку открыл.. Все собейты и прочие читы, почти все щас, построены на перехвате пакетов/РПЦ, их модификации и дальнейшей отправки на сервер.

ziggi
04.05.2017, 09:10
Ну тогда можешь еще скажешь что можно перехватывать пакеты САМПа и мешать игрокам нормально играть? Что-то же никто до этого не додумался

Именно. Но мешать играть это одно, а перехватывать зашифрованные данные - это другое. Просто функция шифрования предполагает за собой надёжность во всём.


+ передача данных с mysql происходит похожим образом, что-то же никто не перехватывает? разве не так?

Обычно сервер SA-MP и сервер MySQL находятся на одной машине, поэтому перехватывать нечего.

KrutoyKrosch
04.05.2017, 09:34
Именно. Но мешать играть это одно, а перехватывать зашифрованные данные - это другое. Просто функция шифрования предполагает за собой надёжность во всём.



Обычно сервер SA-MP и сервер MySQL находятся на одной машине, поэтому перехватывать нечего.

Но тогда можно запросто перехватить пароль который ввел игрок в диалог и тогда толк вообще от шифрования|хеширования|кодирования? Хоть md5, хоть base64, хоть password_hash (как-то так называется вроде)

DeimoS
04.05.2017, 12:22
Но тогда можно запросто перехватить пароль который ввел игрок в диалог и тогда толк вообще от шифрования|хеширования|кодирования? Хоть md5, хоть base64, хоть password_hash (как-то так называется вроде)

Это непрактично, ибо для этого придётся на каждый конкретный сервер ухитриться загнать свой вирус, который будет всё это дело перехватывать. Гораздо практичнее в этом случае заражать компьютеры игроков, что, собственно, и делают (те самые "стиллеры", на которые многие жалуются).

Но твой-то сервис не является каким-то индивидуальным. Если им начнут пользоваться сотни серверов, то и затраты на попытки засадить вирус на твой сервис окупятся, ибо злоумышленник получит доступ сразу к куче аккаунтов.

KrutoyKrosch
04.05.2017, 12:32
Эм, Америку открыл.. Все собейты и прочие читы, почти все щас, построены на перехвате пакетов/РПЦ, их модификации и дальнейшей отправки на сервер.

Я имел в виду перехват пакета до клиента.....

- - - Добавлено - - -


Это непрактично, ибо для этого придётся на каждый конкретный сервер ухитриться загнать свой вирус, который будет всё это дело перехватывать. Гораздо практичнее в этом случае заражать компьютеры игроков, что, собственно, и делают (те самые "стиллеры", на которые многие жалуются).

Но твой-то сервис не является каким-то индивидуальным. Если им начнут пользоваться сотни серверов, то и затраты на попытки засадить вирус на твой сервис окупятся, ибо злоумышленник получит доступ сразу к куче аккаунтов.

Ну и о каком перехвате информации тогда через HTTP может идти речь?

DeimoS
04.05.2017, 12:36
Ну и о каком перехвате информации тогда через HTTP может идти речь?

Ну а о каком HTTP в SA-MP может идти речь?

ziggi
04.05.2017, 12:52
Но тогда можно запросто перехватить пароль который ввел игрок в диалог и тогда толк вообще от шифрования|хеширования|кодирования? Хоть md5, хоть base64, хоть password_hash (как-то так называется вроде)

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

KrutoyKrosch
07.05.2017, 14:07
У Гугла есть ReCapcha и там тоже через сеть передаются все ключи в открытом виде. И что-то же они ничего не делают с этим, а ведь зная эти ключи можно проходить проверку на бота.

DeimoS
07.05.2017, 14:32
У Гугла есть ReCapcha и там тоже через сеть передаются все ключи в открытом виде. И что-то же они ничего не делают с этим, а ведь зная эти ключи можно проходить проверку на бота.

Начнём с того, что предназначением сей системы является борьба с интернет-ботами в общей массе и не более. Естественно, если загнать на сервера гугла вирус, который будет брать нужную информацию, то можно эту систему для твоего бота обойти (как и любую другую), но ты ещё попробуй загони его туда и сделай так, чтоб его там не заметили.
А закончим тем, что эта система работает не по обычному принципу "Вот вам символы на картинке. Напишите их нам в ответ". Подробнее об этом можешь узнать в той же википедии (https://ru.wikipedia.org/wiki/ReCAPTCHA), хотя советую погуглить получше и найти более подробные статьи. Эта система довольно умная и обойти её не так уж и просто, в сравнении с другими защитами (не зря же она так распространена стала)

ziggi
07.05.2017, 14:38
У Гугла есть ReCapcha и там тоже через сеть передаются все ключи в открытом виде. И что-то же они ничего не делают с этим, а ведь зная эти ключи можно проходить проверку на бота.

У Google уже давно везде используется https протокол, что означает, что все данные передаются в зашифрованном виде.
В хроме даже есть плашка "Secure", означающая безопасность соединения:
http://ihost.pro-pawn.ru/image.php?di=7C9A

Pa4enka
07.05.2017, 17:09
У Google уже давно везде используется https протокол, что означает, что все данные передаются в зашифрованном виде.
В хроме даже есть плашка "Secure", означающая безопасность соединения:
http://ihost.pro-pawn.ru/image.php?di=7C9A

Имхо, не составит труда перехватить https сессию. Стоит только написать троянскую программу, которая умеет работать с браузером, то HTTPS станет бесполезным, так как данные могут копироваться до того, как попадут в зашифрованный канал. Или же тот же самый MITM (правда немного улучшенный*).

ziggi
07.05.2017, 21:42
Имхо, не составит труда перехватить https сессию. Стоит только написать троянскую программу, которая умеет работать с браузером, то HTTPS станет бесполезным, так как данные могут копироваться до того, как попадут в зашифрованный канал. Или же тот же самый MITM (правда немного улучшенный*).

Речь идёт про перехват данных через сеть, а ты говоришь совсем о другом.

А вообще, получить пароль можно массой способов, вопрос стоит в сложности исполнения. Если перехватить http трафик не составит труда после просмотра одного урока на YouTube, когда как написать и внедрить троян на компьютер жертвы уже намного сложнее.

Раз на то пошло, вот ещё несколько вариантов получения вводимых данных:
- Перехват Bluetooth соединения беспроводной клавиатуры, так как во всех (в большинстве точно) клавиатур, передаваемые данные не шифруютя.
- Получение доступа к микрофону компьютера или телефона и определение нажатых клавиш по звуку.

Pa4enka
07.05.2017, 23:00
Речь идёт про перехват данных через сеть, а ты говоришь совсем о другом.

Я указал лишь о том, что https не слишком надежный, как многие говорят, и обойти его не составит труда, если ты хороший программист.

ziggi
08.05.2017, 02:24
Я указал лишь о том, что https не слишком надежный, как многие говорят, и обойти его не составит труда, если ты хороший программист.

HTTPS - это зашифрованный протокол передачи данных, и то, что данные можно украсть трояном - это не вина протокола, а вина ОС и антивирусного ПО, а HTTPS с этим вообще никак не связан. Это одно и тоже, что говорить о ненадёжности входной двери, потому что в дом можно залезть через окно.