Description
### SummaryAn уязвимость удаленного выполнения кода позволяет любому пользователю, не прошедшему проверку подлинности, выполнять код на сервере.### Подробнее, команда, я нахожу поддержку openrefine для импорта данных из базы данных, когда для подключения к базе данных используется mysql jdbc, она уязвима для атак по URL jdbc, например, злоумышленник, не прошедший проверку подлинности, может получить rce на сервере. сервер через mysql userializable, если версия mysql-connector-java, используемая на стороне сервера, меньше 8.20.In чтобы сервер включил десериализацию, нам нужно установить параметры `autoDeserialize` и `QueryInterceptors` в строке подключения, как и в случае с https://github.com/OpenRefine/OpenRefine/security/advisories/GHSA-qqh2-wvmv-h72m , поскольку строка объединения равна при прямом объединении можно ввести требуемые параметры после других параметров.![image](https://user-images.githubusercontent.com/24366795/262581108-e98dfe16-ee67-463f-8c49-7c318bf0d6f3.png) И на стороне сервера есть библиотека зависимостей commons-beanutils, которая содержит цепочку эксплойтов десериализации с поддержкой RCE### PoCenv:centos 7openrefine 3.7.4jdk11mysql-connector-java версии 8.14.0вы можете использовать этот инструмент https://github.com/4ra1n/mysql-fake-server к запуску вредоносного сервера mysql. например, используйте гаджет CB 1.9 для выполнения команды "touch /tmp/hacked". ![image](https://user-images.githubusercontent.com/24366795/262583287-7351a00a-32bf-4cb3-8d86-65ff0a112360.png ) установите для `user` значение `base64ZGVzZXJfQ0JfdG91Y2ggL3RtcC9oYWNrZWQ=`(`touch /tmp/hacked` base64 encode), для `DatabaseName` значение `test?autoDeserialize=true&QueryInterceptors=com.mysql.cj.jdbc.перехватчики.SErverStatusDiffInterceptor#`. ![image](https://user-images.githubusercontent.com/24366795/262583657-9cfb9caa-02ed-4f6b-b110-650108803172.png)![image](https://user-images.githubusercontent.com/24366795/262583815-a17d5530-bae8-4b4f-9392-4ea41b328c7d.png ) выполняется команда "touch /tmp/hacked". ![image](https://user-images.githubusercontent.com/24366795/262583979-823d5843-578f-4af6-b84f-a1422aa1b863.png)## Уязвимость # ImpactAn remote Code exec позволяет любому пользователю, не прошедшему проверку подлинности, выполнять код на сервере.