URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 108371
[ Назад ]

Исходное сообщение
"Уязвимость в генераторе кода Swagger"

Отправлено opennews , 25-Июн-16 23:18 
В генераторе кода Swagger (https://github.com/swagger-api/swagger-codegen), применяемом для создания  RESTful web-сервисов, соответствующих спецификации OpenAPI (https://en.wikipedia.org/wiki/OpenAPI_Specification), выявлена
уязвимость (https://community.rapid7.com/community/infosec/blog/2016/06/... которая может привести к выполнению кода на стороне сервера или клиента, через подстановку специальных параметров в документы Swagger, на основе которых производится динамическая генерация обработчиков API.


Проблема затрагивает RESTful-обработчики, созданные с использованием кода, автоматически сгенерированного при помощи Swagger. В том числе обработчики, сгенерированные для языков JavaScript/Node.JS, PHP, Ruby и Java (важно отметить, что вопреки заявлениям некоторых СМИ, проблема не затрагивает непосредственно Node.JS, PHP, Ruby и Java, а касается только проектов на данных языках, применяющих swagger-codegen для  генерации кода RESTful API на основе непроверенных документов Swagger).

Например, код на Java и PHP, который будет выполнен при вызове динамически сгенерированного обработчика, можно внедрить в документ Swagger следующим образом:

    "paths": {          
         "/a\"; try{java.lang.Runtime.getRuntime().exec(\"ls\");}catch(Exception e){} \"":  


    "definitions": {          
         "d": {              
              "type": "object",              
              "description": "*/ echo system(chr(0x6c).chr(0x73)); /*",  


URL: https://community.rapid7.com/community/infosec/blog/2016/06/...
Новость: http://www.opennet.ru/opennews/art.shtml?num=44670


Содержание

Сообщения в этом обсуждении
"Уязвимость в генераторе кода Swagger"
Отправлено Буратино , 25-Июн-16 23:18 
>java.lang.Runtime.getRuntime().exec(...)

Энтерпрайзненько.


"Уязвимость в генераторе кода Swagger"
Отправлено Аноним , 26-Июн-16 00:07 
Воистину восхитительно, даже безо всякого хипстогенератора

"Уязвимость в генераторе кода Swagger"
Отправлено Crazy Alex , 26-Июн-16 02:33 
Напиши импорт - будет короче. В питоне то же самое.

"Уязвимость в генераторе кода Swagger"
Отправлено Аноним , 27-Июн-16 09:44 
Не то же. В питоне импорт - отдельная запись в namespace.
Как импортируешь, то и будет.
Поэтому и есть разница между
import os
и
from os import *
Разница будет в том, как будет называться результирующая функция.
В первом случае она будет находиться как os.<func_name>, а во втором случае - просто func_name.

"Уязвимость в генераторе кода Swagger"
Отправлено Аноним , 27-Июн-16 14:48 
Чем это отличается от import static? Вердикт: то же самое.

http://docs.oracle.com/javase/1.5.0/docs/guide/language/stat...


"Уязвимость в генераторе кода Swagger"
Отправлено тот самый виндотролль , 27-Июн-16 18:04 
Мне кажется восхитительно не это, а вызов утилиты ls из джава кода.

Подобные приемчики смердят на любом языке, хоть питон, хоть джава.


"Уязвимость в генераторе кода Swagger"
Отправлено Pilat , 26-Июн-16 14:10 
По аналогии с авторскими отчислениями с устройства, каждый компьютер должен предоставлять хакерам часть своих ресурсов.

"Уязвимость в генераторе кода Swagger"
Отправлено тОпор , 27-Июн-16 10:05 
Swagger

кто-то где-то пользует???


"Уязвимость в генераторе кода Swagger"
Отправлено azure , 27-Июн-16 14:18 
Да

"Уязвимость в генераторе кода Swagger"
Отправлено сваггер , 27-Июн-16 16:03 
Какие более лучшие решения вам известны?

"Уязвимость в генераторе кода Swagger"
Отправлено auk , 27-Июн-16 18:44 
swagger отменная вещь для написания документации по REST API.
Особенно его свыше с gradle и asciidoc

"Уязвимость в генераторе кода Swagger"
Отправлено Аноним , 28-Июн-16 10:47 
На пуре-джяве с io.netty рестсервис без всяких своггеров делается за 15 минут с перекурами и кофебрейком. Кому нафиг оно ваще надо?

"Уязвимость в генераторе кода Swagger"
Отправлено сваггер , 28-Июн-16 11:14 
Вы понимаете разницу между написанием (кодогенерацией) рест-сервиса и написанием документации к нему?

"Уязвимость в генераторе кода Swagger"
Отправлено Аноним , 28-Июн-16 12:27 
А! Так Вы написали новый javadoc? Ну так круто че. Есть вон еще писатели, которые Kotlin забацали. Вот только туда же - не надо. Че-нить типа спринга, если осилите - всегда велкам, а гламурные гаечные ключи - в сад.

"Уязвимость в генераторе кода Swagger"
Отправлено сваггер , 02-Июл-16 12:41 
И вновь вы ничего не поняли. Почитайте, чем они отличаются, прежде чем открывать рот и озвучивать свое ценное мнение

"Уязвимость в генераторе кода Swagger"
Отправлено Аноним , 28-Июн-16 04:43 
Все идет от излишнего за*тства. Зачем мужик вообще генерирует чего-то? Зачем все эти языки? Почему нельзя просто добавлять три типа списков в базу данных и не радоваться ситуации? Что за тотальный #*изм развели?