@cauf в конкретно моем случае там составлялся JSONPath для запроса в Redis. Составлялся примерно как `$.["${key}"]`
Он весь, насколько я понял, экранируется драйвером как единое целое, но этого все равно достаточно для инъекции на уровне самого JSONPath.
И когда я предложил заметить это на `$.[${JSON.stringify(key)}]`, меня спросили "а зачем?". Это при том, что есть несколько путей в коде, где этот key передается в запросе пользователем.
@iliazeus ну вообще true-path валидировать ввод пользователя на входе, а не при передаче в запрос... Но я хз что именно вводит пользователь и насколько это валидируемо у вас
@cauf в конкретно моем случае там составлялся JSONPath для запроса в Redis. Составлялся примерно как `$.["${key}"]`
Он весь, насколько я понял, экранируется драйвером как единое целое, но этого все равно достаточно для инъекции на уровне самого JSONPath.
И когда я предложил заметить это на `$.[${JSON.stringify(key)}]`, меня спросили "а зачем?". Это при том, что есть несколько путей в коде, где этот key передается в запросе пользователем.