Overflow over BSS in wasm
This was the only challenge I worked on during this CTF but was able to proudly solve it within 2 hours (admin bot was broken unfortunately so couldn't submit until the next morning). All disassembly was done with diswasm, although the Ghidra WASM plugin is a lot more intuitive for others.
The challenge gives a web app with the ability to draw rgb pixels onto the canvas, with 3 layers available. All the colors of each layer are stored on the wasm, and then each frame they are applied back onto the canvas. You are also given the ability to save your canvas art, at which point the client rips R,G,B and A channels of each layer out of the wasm and sends them out to the server. The server then creates a link to it that it sends back to the client. When visitting the link from clientside, the layers are loaded back into the wasm - BUT, there is a dangerous overflow at this point