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!
RestrictedPython library. Using this, globally available functions can be overwritten or restricted easily. random module it was easy to reference the OS module! This was done with the following code random._os.system("<code>"). But, using underscores (_) is not allowed. ImageMagick utility is used. When using the utility, it was possible to control two of the parameters for the binary.rgb codes raw from input or a file. This turns into an arbitrary file read vulnerability; the example is used to read /etc/passwd.system call is made or something is directly interpreting code on the fly, this has to be looked into. aceterm, which is meant to simulate the xterm shell. "\eP+q") has a path that leads to the output from the terminal being added to the input terminal handler. By putting a newline in this string, it is possible to escape the current line and execute additional commands on the system. Damn, command injection from the Cloudshell!? href on an anchor tag. By adding a JavaScript:// URI, clicking on the link will result in code execution within the context of the victim account. domain attribute. iXML format for WAVE files. ngx_resolver_copy() function is used to validate and decompress each DNS domain in a DNS response. This is done in two steps:
NULL, then the dot is written past the end of the heap buffer. 0x2E will clear the PREV_INUSE bit and set the IS_MMAPPED flag on the heap chunk. Because of the IS_MMAPPED, I would be surprised if this was possible to exploit by itself. s3_5_c15_c10_1 is directly accessible from EL0. This register contains two bits that can be read or written to (0 and 1). This is a per cluster register that can be accessed by all cores in a cluster. This creates a two bits convert challenge that can be used to send data across processes.