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!
example.com##div:style(--foo: 1/*) example.com##div[bar="*/;background-image: url(https://google.com);}/*"]The key to this is the
/*, which is a code comment. By adding this comment in one block, then ending it in another block, the CSS selector can be escaped to add arbitrary CSS.
##input,input/*
##input[x="*/{}*{background-color:red;}"]
document.querySelector allowed invalid syntax. This was fixed by checking for opening and closing comments in the rules.
*#$#* {background:url(/abc);x{ background-color: red;}
url was blocked from usage in the CSS, some browser specific functions were not. In Chrome, image-set could be used to exfiltrate data using only CSS.