xss注入个人总结
1 " < >可以用URL编码 %22 %3c %3e HTML 编码 " < > 代替
2 如果过滤 可以用%2522 %26colon; 这种代替尝试 二次转码
3 如果输入框有历史记录 ,个人简介注意使用 发现很多网站对输入框有过滤缺但没有过滤历史记录这些的输出,输出的语句会运行
4 思路就是打破结构 不管是哪里的输入框 还要关注输出(历史记录,标题,评论,个人性息编辑的输出位置等)也可能触发
5 注意空格,减号,分开函数 "οnfοcus="事件" autofocus 中间不加 (%20)函数会连成整体 很多函数都要注意不要相连 用-也可也i
6 注意末尾如果有符号相连报错 可以用//来注释掉末尾
7 没有过滤<>的时候注意标签优先级
8 对于javascrip语句可以用base64的写法
9 语句越少越好 比如onerror就比onload好 因为不用src加载 长度短
10 反射性发现后看能否存在本地记录 能否提取cookie 可以提升成储存型xss
11 xss自动化平台注意使用
12 谷歌搜索:inurl:'product.asp?BigClassName',大量存在xss漏洞
13 手动找太麻烦 可以用wvs,椰树 工具
14 还可以用+ 代替空格 绕过waf 比如ale+rt(1) 还有很多比如/的符号代替
xss持久化
前端代码中获取document.cookie中 的数据,并且将这个数据进行了不安全 的输出
前端代码中对内容进行了 sessionStorage存储,并且将这个数 据进行了不安全的输出
前端代码中对内容进行了localStorage 存储,并且将这个数据进行了不安全的 输出
语句
localStorage.setItem("名称","值") document.cookie 
反射性xss发掘思路
1输入点
2查看输出点
可以从源代码里去找输出的字符和输入字符的对应
先一个一个找

比如这里就是已经被过滤掉了
要查看是不是被过滤了 可以右键edit and html 查看 符号是不是被过滤了
要打破原有的结构 自己写js代码
3查看过滤方式
url编码 bas64编码 html编码
然后再看能不能绕过
4尝试或构建不同payload
多个标签多个事件测试
5xss漏洞单步解释
某直播平台
该网站先输入xsser 然后html代码查找xsser

这里可以看到 xsser
然后加入双引号 发现双引号在内容的外面
然后写标签 试试能不能闭合标签
"><svg/οnlοad=alert(1)>
发现被过滤了

但是注意 上面有
![]()
这里有个语句 写一个”闭合clss的 发现在历史记录位置为输出点,而且没有过滤,测试成功

在测试其他的 " οnmοuseοver="alert(1)"

发现也可以



















