Е
Size: a a a
Е
Е
Е
data |> :erlang.term_to_binary() |> :zlib.zip() |> Base.encode64(padding: false)
LL
data |> :erlang.term_to_binary() |> :zlib.zip() |> Base.encode64(padding: false)
:zlib.zip
?:erlang.term_to_binary
есть встроенные опции для сжатия данныхXY
проблему. Лучше не делать :erlang.binary_to_term
на данных без валидации. Недавно на этом попалась либа paginator
и получила RCE
Е
:zlib.zip
?:erlang.term_to_binary
есть встроенные опции для сжатия данныхXY
проблему. Лучше не делать :erlang.binary_to_term
на данных без валидации. Недавно на этом попалась либа paginator
и получила RCE
LL
Jason.encode
?http://my.site/path?x=[1,2,3]
safe
не помогает, конечно же.Enumerable
определён для функций. А ты, как я понял, собираешься использовать список для энкодинга в бинарьЕ
Jason.encode
?http://my.site/path?x=[1,2,3]
safe
не помогает, конечно же.Enumerable
определён для функций. А ты, как я понял, собираешься использовать список для энкодинга в бинарьLL
phoenix
сам энкодит и декодит массивы в url
Е
phoenix
сам энкодит и декодит массивы в url
Е
Use this option when receiving binaries from an untrusted source.
When enabled, it prevents decoding data that can be used to attack the Erlang system. In the event of receiving unsafe data, decoding fails with a badarg error.
This prevents creation of new atoms directly, creation of new atoms indirectly (as they are embedded in certain structures, such as process identifiers, refs, and funs), and creation of new external function references. None of those resources are garbage collected, so unchecked creation of them can exhaust available memory.
paginator
схлопотала RCE
, то по идее и эта функция эрланга должна схлопотать RCE
.LL
Use this option when receiving binaries from an untrusted source.
When enabled, it prevents decoding data that can be used to attack the Erlang system. In the event of receiving unsafe data, decoding fails with a badarg error.
This prevents creation of new atoms directly, creation of new atoms indirectly (as they are embedded in certain structures, such as process identifiers, refs, and funs), and creation of new external function references. None of those resources are garbage collected, so unchecked creation of them can exhaust available memory.
paginator
схлопотала RCE
, то по идее и эта функция эрланга должна схлопотать RCE
.paginator
поймал RCE
— он брал safe
-овый binary_to_term
и вызывал Enum.map
Enumerable
заимплеменчен для функцийLL
Е
paginator
поймал RCE
— он брал safe
-овый binary_to_term
и вызывал Enum.map
Enumerable
заимплеменчен для функцийbinary_to_term
. И это не мой случай. Я валидирую то, что вернула эта функция.Е
LL
JSON
, убери из структуры тупплы, это же не сложноpid
-ы, port
-ы и всё такоеLL
LL
binary_to_term
и term_to_binary
это отличные фичи языка, но, как грица "Don't drink to much Kool-aid"Е
pid
-ы и port
-ы все равно буду порезаны на стадии валидации.AP
Е