Polyglot
Something is polyglot when it can handle multiple languages at the same time. The original meaning is for human, when they speak several languages. It also applies in computer science, since there are computing languages.
A polyglot application handles several languages in its human interfaces. It is often related to internationalization.
In web security, polyglot files are used to bypass upload filters or content-type checks: an image that also contains valid PHP code, for example, may be accepted as an avatar upload, then executed by the server if it is later included or requested directly. Polyglots are also built to be valid in several scripting or markup languages at once, such as a file that is both valid HTML and valid JavaScript, in order to slip past validators that only inspect one format.
Polyglot programming may also refer, more broadly, to writing applications that combine several programming languages, each used for the part of the system it fits best.
Polyglot tools are utilities that can provide pragmatic feedback on source code, in several languages.
See Also
- Polyglot Files: A Portable Executable resource that is also a ZIP archive
- What Is A Polyglot File & How Are They Used In Attacks?
- Also PHP
- Persistent PHP payloads in PNGs: How to inject PHP code in an image – and keep it there !