What is XSS?

There are billions of websites on the internet. One of the most common vulnerabilities found in websites is Cross Site Scripting (XSS). XSS can be the result when a website administrator doesn't sanitize inputs. Someone can achieve XSS from forms or get requests. There are multiple types of XSS, but today we will be focusing on the main two types: Reflected XSS and Persistent XSS.

Reflected XSS

Reflected XSS is when the XSS comes from a users request. For example, going to a page with a get request that causes XSS.



A possible vulnerable url would have a get parameter like this: You can test for possible XSS in urls by trying to put some html in the url like this: ?xss=<h1>Test</h1> or ?xss="><h1>Test</h1>, but sometimes the website will try to escape the XSS inefficiently, luckily OWASP has posted a large list of things to try to get reflected XSS. You can access that here: https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet. You can practice this here: reflected XSS

Persistent XSS

Persistent XSS is when the XSS is stored in the web-page, without needing to have a link with a specifically crafted get request. This could commonly be found in unescaped blogs or chats, so that when a user would go to the blog they would have the XSS affect them. You can test for persistent XSS on our site. To delete any current payloads inside of the persistent XSS sandbox click this. To go to the Persistent XSS sandbox click here.