Pull to refresh

Comments 5

По поводу консоли - это скорее учебная фича, редко кто на проде оставит.
А вот по поводу TCP сервера интересно. Можете дать пример злоумышленной строки коннекта?

Здесь https://securityaffairs.co/wordpress/126460/security/unauthenticated-rce-h2-database.html подробнее описан сценарий проникновения без использования консоли:

  1. Many vendors may be running the H2 database, but not running the H2 console. Although there are other vectors to exploit this issue other than the console, these other vectors are context-dependent and less likely to be exposed to remote attackers.

The H2 flaw allows several code paths in the H2 database framework pass unfiltered attacker-controlled URLs to the javax.naming.Context.lookup function. This allows for remote codebase loading, also known as Java code injection or remote code execution.

“Specifically, the org.h2.util.JdbcUtils.getConnection method takes a driver class name and database URL as parameters,” continues the post.“If the driver’s class is assignable to the javax.naming.Context class, the method instantiates an object from it and calls its lookup method.”

Да кто в здравом уме создаёт соединение с БД, позволяя кому-то снаружи контролировать класс драйвера? От кого тут защищаются-то?


Или я чего-то не понимаю?

у эйч2 базы есть несколько драйверов — внутренний, сетевой, и вроде был с коннекшен пулом, это разные классы

уязвима, разумеется, не БД, а инструмент по юзер интерфейсу: раньше он вроде был на AWT

консоль всегда была для девелоперов и особо не обтачивалась на секурность; написали «не выставлять снаружи локалхоста» и хватит
внутренняя БД, ЕМНИП, вообще выставлялась в консоль без пароля

выставленная вне периметра консоль и так много чего даёт и при пофиксанной уязвимости, например можно писать-читать свои данные

Ну, с пользовательским интерфейсом понятно всё, меня удивляет вот эта цитата:


Although there are other vectors to exploit this issue other than the console, these other vectors are context-dependent and less likely to be exposed to remote attackers

Вот кто кроме консоли хотя бы теоретически может позволить выбрать драйвер удалённому пользователю и нахрена?

Sign up to leave a comment.

Articles