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!
javascript:’@opera.com/’;alert(1), to pop an alert box. Since this was opened within the opera URI, it has special permissions that other web pages do not. target=_blank was set, the XSS would only execute on the page if a middle click on control click was done. This is still a one click XSS though! What damage can be caused within the opera URI? This is similar to the firefox or chrome URI. /etc/passwd inside of it. Next, they take a screenshot of this page to see the information. Finally, they base64 encode the password and send it to themselves. advice.md that holds information about how to handle mistakes and on symlinked files themselves being spellchecked. Instead of having this be a regular file, the author made this into a symbolic link. By placing this symbolic link to /proc/self/environ, we can leak a secret and gain write privileges to the repository. GITHUB_TOKEN can be used to write to the repository silently. However, the token is invalidated as soon as the workflow finishes executing. But, this can be raced! By constantly pulling the comments of a PR that we have made programmatically, we can reliability get the token and make a request before anything has happened. .git. The author of the bugs also mentions the scoping of the tokens being as small as possible. pass.json contained a complete description of the license, such as the serial number and personal details. The manifest.json included a hash of all of the files and a signature uses for the manifest file. This is done by obtaining a key from Apple to be used on the wallet. @@containers.name then a few operations happen. First, the table_name is copied into a buffer. Before doing this operation, a validation is done to ensure that there is enough space. This is where the mistake is at.
assert does the validation. Since assert is a macro that produces code only in debug builds but not in release builds, this leads to a buffer overflow that can be reached when running a release build. Boom! get @@aaa @@aaa @@aaa ....@@aaa is replaced with the table name during this operation. This bug is likely exploitable by itself but would require a memory leak in order to exploit. The patch simply removes the assert clauses and adds legit code to validate the size prior to the copy. uint32_t. Even though our structure is much larger than this, the only things needed to make this structure work are in the beginning of the struct!DelegatedAuthModule is loaded. DelegatedAuthModule is not loaded then we have a problem. The frontend forwards the request to the backend for authentication. However, the backend has no idea that it needs to do auth on the SecurityToken header. What does this mean? A complete auth bypass!openPDFDocumentFromLibrary, getCurrentPage and renderpageFromLibrary were used. These make excellent hooks for fuzzing!/var/local/appreg.db stores application registry information and it writable (without restrictions) to our user.