rspec/rules/S2076/common/fix/sanitize-meta-characters.adoc
Fred Tingaud d3cfe19d7e
Fix broken or dangerous backquotes
Co-authored-by: Marco Borgeaud <89914223+marco-antognini-sonarsource@users.noreply.github.com>
2023-10-30 10:33:56 +01:00

29 lines
907 B
Plaintext

==== Neutralize special characters
If the application is to execute complex commands that cannot be controlled
thanks to pre-approved lists, the cleanest approach is to use special
sanitization components, such as `{sanitizationLib}`.
The library helps you to get rid of common dangerous characters, such as:
* `&`
* `|`
* `;`
* `$`
* `>`
* `<`
* `++`++`
* `++\++`
* `!`
If user input is to be included in the arguments of a command, the application
must ensure that dangerous options or argument delimiters are neutralized. +
Argument delimiters count `'`, `-` and spaces.
For example, the `find` command from UNIX supports the dangerous argument
`-exec`. +
In this case, option processing can be terminated with a string containing `--`
or with special options. For example, `git` supports
`--end-of-options` https://github.blog/2019-11-03-highlights-from-git-2-24/#tidbits[since its version 2.24].