The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Уязвимость в генераторе кода Swagger"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в генераторе кода Swagger"  +/
Сообщение от opennews on 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/...)  (CVE-2016-5641), которая может привести к выполнению кода на стороне сервера или клиента, через подстановку специальных параметров в документы 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.dev/opennews/art.shtml?num=44670

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Уязвимость в генераторе кода Swagger"  +/
Сообщение от Аноним (??) on 26-Июн-16, 00:07 
Воистину восхитительно, даже безо всякого хипстогенератора
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Уязвимость в генераторе кода Swagger"  –1 +/
Сообщение от Crazy Alex (ok) on 26-Июн-16, 02:33 
Напиши импорт - будет короче. В питоне то же самое.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

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

8. "Уязвимость в генераторе кода Swagger"  +/
Сообщение от Аноним (??) on 27-Июн-16, 14:48 
Чем это отличается от import static? Вердикт: то же самое.

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Уязвимость в генераторе кода Swagger"  +4 +/
Сообщение от Pilat (ok) on 26-Июн-16, 14:10 
По аналогии с авторскими отчислениями с устройства, каждый компьютер должен предоставлять хакерам часть своих ресурсов.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Уязвимость в генераторе кода Swagger"  –6 +/
Сообщение от тОпор on 27-Июн-16, 10:05 
Swagger

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Уязвимость в генераторе кода Swagger"  +4 +/
Сообщение от azure (ok) on 27-Июн-16, 14:18 
Да
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Уязвимость в генераторе кода Swagger"  +/
Сообщение от сваггер on 27-Июн-16, 16:03 
Какие более лучшие решения вам известны?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Уязвимость в генераторе кода Swagger"  +/
Сообщение от auk on 27-Июн-16, 18:44 
swagger отменная вещь для написания документации по REST API.
Особенно его свыше с gradle и asciidoc
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

13. "Уязвимость в генераторе кода Swagger"  +/
Сообщение от Аноним (??) on 28-Июн-16, 10:47 
На пуре-джяве с io.netty рестсервис без всяких своггеров делается за 15 минут с перекурами и кофебрейком. Кому нафиг оно ваще надо?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

14. "Уязвимость в генераторе кода Swagger"  +/
Сообщение от сваггер on 28-Июн-16, 11:14 
Вы понимаете разницу между написанием (кодогенерацией) рест-сервиса и написанием документации к нему?
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Уязвимость в генераторе кода Swagger"  +/
Сообщение от Аноним (??) on 28-Июн-16, 12:27 
А! Так Вы написали новый javadoc? Ну так круто че. Есть вон еще писатели, которые Kotlin забацали. Вот только туда же - не надо. Че-нить типа спринга, если осилите - всегда велкам, а гламурные гаечные ключи - в сад.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

18. "Уязвимость в генераторе кода Swagger"  +/
Сообщение от сваггер on 02-Июл-16, 12:41 
И вновь вы ничего не поняли. Почитайте, чем они отличаются, прежде чем открывать рот и озвучивать свое ценное мнение
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

12. "Уязвимость в генераторе кода Swagger"  –4 +/
Сообщение от Аноним (??) on 28-Июн-16, 04:43 
Все идет от излишнего за*тства. Зачем мужик вообще генерирует чего-то? Зачем все эти языки? Почему нельзя просто добавлять три типа списков в базу данных и не радоваться ситуации? Что за тотальный #*изм развели?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру