javascript:void(open("https://web.archive.org/save/" + document.location))
Archive current page with archive.today: javascript:void(open("https://archive.ph/?run=1&url=" + encodeURIComponent(document.location)))
Search Google Cache for current page: javascript:void(open("https://webcache.googleusercontent.com/search?q=cache:" + document.location))
Open current Reddit post in Reveddit: javascript:void(open("https://www.reveddit.com/" + document.location.pathname))
> Some of the biggest vulnerabilities of recent years (e.g. Heartbleed) were out-of-bounds access.
If I understand the Heartbleed bug correctly, it did not involved buffer overflows. It was a logical bug where they "trusted" the user-provided payload length (that can be much larger than the actual payload) and allocated the response buffer accordingly without zeroing it (malloc vs calloc). The "trash" in the uninitialized memory turned out to be quite valuable.
"xkcd: Heartbleed Explanation":
https://xkcd.com/1354/
"Add heartbeat extension bounds check.":
https://github.com/openssl/openssl/commit/731f431497f463f3a2...