The two conditons must be met by the stored xss
- must be reflected in page
- must be stored in database
Follow same methodology as reflected xss (1) to find parameters.
In stored xss apart from parameters we also try to find xss in the below fileds
| Context | Browser expects |
|---|---|
| HTML body | HTML |
| HTML attribute | Attribute syntax |
<script> block |
JavaScript |
| CSS block | CSS |
| URL parameter | URL data |
if our special characters are being encoded into html entities then we can ignore that parameter
⚠️ Before ignoring a parameter, inspect ALL reflections (View Source + DOM + every rendering location). Ignore only if every occurrence of the input is consistently HTML-encoded or safely escaped in all contexts.
<script> tag is ignored = try case sensitive
alert is being filtered = use confirm(1) , prompt(1)
If our tags are being allowed but methods are being filtered then use these different types of methods