Shellcoding with Emojis on RISC-V Architecture
Abstract
(from the paper)
Shellcodes are short, executable code frag- ments that are utilized in various attack scenarios where code execution is possible. When they are injected through the program’s inputs, they may require to be validated by filters, the most common of which is a restriction on the allowed character set. This paper explains how to design RISC-V shellcodes capable of running arbitrary code whose UTF-8 representation uses only Unicode emojis.
Our approach to this problem is inspired by code- reuse attacks and involves the use of small, reusable code snippets called gadgets. By chaining these gadgets together, we are able to build a shellcode that can bypass the constraints imposed by filters, making it more versatile and effective in a wider range of attack scenarios.
Reference
Barral, H., Jaloyan, G.-A., & Naccache, D. (n.d.). (publication). Emoji shellcoding in RISC-V.
http://wootconference.org/papers/woot23-paper5.pdf