People often ask me "How did you learn how to hack?" The answer: by reading. This page is a collection of the blog posts and other articles that I have accumulated over the years of my journey. Enjoy!
sub esp, VALUE). The VLA acts funny when the change is larger than the stack itself!mod_auth_kerb. The ISC BIND server (most popular DNS server on the internet) shared the vulnerable code in the SPNEGO component but was the patch was never merged. length (more of a max size) variable occurs. Because of this off-by-one error, a single integer overflow occurs (4 bytes).%n to crash the server. To the authors, this was not enough though. So, they sent 9999999%c in order to induce huge time delays to determine if this was a legit bug or not. %n specifier to overwrite the Global Offset Table (GOT) to be system. Now, we can trivially pass in a command, which will be ran in the terminal, to pop a shell. There appears to be no PIE on this binary, making this attack easy to exploit.memcpy is ran on this to copy the stack buffer to the heap buffer, a 0x300 byte OOB read occurs! 0x300 extra bytes, which can be queried by the application, allows the user to break ASLR and find the locations of Windows libraries.npm.bin key of a project in the settings.json to a malicious script, viewing the package.json will execute whatever we point it to, such as a bash script. This vulnerability is bad because it breaks the assumption that source is safe to read.