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!
TRACE method is used for debugging applications. When a request is made with this method, it will send the full request with the specified verb and reflect this in the response. HTTPOnly cookie flag makes the cookie inaccessible from JavaScript. This is to prevent XSS from causing even worse damage, such as getting auth cookies.TRACE, then the cookie with the HTTPOnly flag would be sent back in the response, bypassing the protection. As a result, TRACE and TRACK were banned from browser requests. But, this was years ago.TRACE and TRACK, we can force the verb to change on the server-level. There is a non-standard but common header called X-HTTP-Method-Override.loc parameter, it became possible for an attacker to steal auth information. Pretty neat!title attribute to be put into a tag. While playing around with double quotes, single quotes and quote-less attributes, they were unable to escape. Now, when combining find and replace with HTML parsing, is where things go bad. Gareth learned that the text :verified: would be replaced by the verified icon (blue checkmark). What happens if we put this into the middle of the title attribute? <abbr title="<a href='https://blah'>:verified:</a> <iframe src=//garethheyes.co.uk/>" >After:
<abbr title="<a href='https://blah</a>'><img draggable=" false" ... >< iframe src=//garethheyes.co.uk/>
flash() function then the deposit() function without escaping it.ScriptSecurity, there are several different settings from no scripts to allowing scripts from loading remotely.origin within a URI. In particular, local SVG files can load scripts but not remote scripts. If we can bypass this control, we can do some horrible things! getHost uses the standard Java function, which is known to behave strangely with non-HTTP protocols.file:///some_file.txt) will always return NULL. Things like an external file and HTTP will properly return the host, making the check succeed. However, jar or Java Archives will also return NULL! Since the domains are now the same, the security protections no longer work as intended.next. This parameter could be pointed to sensitive GraphQL operations, such as posting to the timeline or changing email privacy settings.onDetach event triggers. I assume that webui is a general term for web pages, with some of the pages within Chrome being more privileged than others.onDetach event being triggered on the termination of the API, the re-attach can occur on the tab. The author believes this happens because the URL has change on the tab has not been committed yet, which results in the permission check failing. Instead of looking at the webui URL on the tab, it looks at the original one, which has different permissions. CRYPTDLL.DLL. Although this interface is undocumented, the DLL had to export functions and they were easy to work with. While doing this, they noticed there were several private types for encryption they wanted to dive into.RSADSI RC4-MD4. This stood out to them for a few reason:
plaintext byte XOR timestamp byte = key byte. Additionally, the AS-REP is encrypted with the same session key. Since we know the bytes for the keystream of RC4 from the timestamp, this can be used on the AS-REP message as well.