Опасный протокол AMF3

Все блоги / Про интернет 20 июня 2018 295   
Недавно Markus Wulftange из Code White поделился интересным исследованием о том, как можно атаковать веб-приложение, если оно написано на Java и использует протокол AMF3. Этот протокол можно встретить там, где используется Flash и требуется обмен данными между SWF объектом и серверной частью приложения. Протокол позволяет передавать на сервер сериализованные объекты типа flash.utils.IExternalizable. Эти объекты на стороне сервера десериализуются, происходит конверсия типов, и flash.utils.IExternalizable превращается в java.io.Externalizable. Стоит отметить, что классы, которые реализуют этот интерфейс, сами полностью контролируют процессы собственной сериализации и десериализации. Это значит, что можно постараться найти такой класс, при десериализации которого будет выполнен произвольный код.

Маркус исследовал все классы из OpenJDK 8u121, реализующие интерфейс java.io.Externalizable и обнаружил, что в их числе находятся классы sun.rmi.server.UnicastRef и sun.rmi.server.UnicastRef2, связанные с механизмом RMI. Если правильно подготовить объект одного из этих классов (инициализировать его ссылкой на хост атакующего), а затем передать его на уязвимый сервер, то JVM сервера зарегистрирует ссылку LiveRef на «удаленный объект». После этого механизм сборки мусора попытается установить JRMP соединение с указанным хостом. А как известно, протокол JRMP подразумевает обмен сериализованными объектами Java. Это можно использовать для проведения атак, связанных с десериализацией.

Читать дальше →
  • Оцените публикацию
  • 0

Похожие публикации

@
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Архив публикаций