xss漏洞形成的原因其实也是对来自用户输入数据未进行过滤,或者是过滤不彻底,使得用户可以注入js脚本,危害的对象是前端用户。
反射性xss(get)
输入一部分内容后发现输入的长度有限制,可以更改长度或者直接在burp上输入都可以。

然后输入payload,发现触发了css


反射性xss(post)
操作与反射性xss(get)类似。
存储型xss
直接输入payload触发弹窗,js脚本被保存在了数据库中,只要打开存储型xss这个留言界面就会有xss弹出。
DOM型xss
随便输入后找到输入的文本显示在html的位置,查看代码。

想办法输入payload并闭合标签,xss弹出。
'><img src="1" οnerrοr="alert('xss')">

DOM型xss-x
'><img src='1' οnerrοr="alert('xss')">

xss之过滤
输入script的标签发现被过滤掉

尝试大小写绕过。

成功绕过。
或者也可以尝试使用其他标签绕过。
#'<img src='#' οnerrοr='alert(1)'>
xss之htmlspecialchars
发现有两个位置返回用户的输入

我们先尝试第二个,发现该处被编码。

那我们只能在第一个位置属性处尝试闭合标签。

点击链接即可弹出xss框。
xss之href输出

javascript:alert(1)
xss之js输出

尝试闭合符号。
#';alert(1);var c='j
成功执行,
