ACS 2023: Coding Test
Test your coding skills!
TL;DR
Restricted shellcode challenge with bypassable SECCOMP filter via Open-Read-Write (ORW) chain.
Challenge Overview
Coding Test is a simple shellcode injection challenge that allows the user to write to an allocated buffer that is subsequently executed.

However, there are some SECCOMP constraints that we have to bypass.

Constructing ORW Chain
Since execve and execveat is blacklisted, making it impossible to spawn a shell, we can instead use an open > read > write (ORW) chain to read file contents from the remote system.
Looking at the Docker File, the flag name is obscured by appending an MD5 hash. This makes it a little difficult to get the flag by reading the file directly.
To circumvent this, we can use openat to get all file names from the current directory:

Afterward, just substitute the value of the file name to read in the ORW chain as follows:

Flag: ACS{Y0ur_c0d!ng_skill4_ar3_passabl3!!!!}
Final Script
Last updated