演示案例:
➢ WEB攻防-XSS跨站-原理&分类&利用点
➢ WEB攻防-XSS跨站-反射&存储&DOM型
XSS跨站-输入输出-原理&分类&利用点
漏洞原理:接受输入数据,输出显示数据后解析执行
基础类型:反射(非持续),存储(持续),DOM-BASE
拓展类型:jquery,mxss,uxss,pdfxss,flashxss,上传xss等
常用标签:https://www.freebuf.com/articles/web/340080.html
攻击利用:盲打,COOKIE盗取,凭据窃取,页面劫持,网络钓鱼,权限维持等
安全修复:字符过滤,实例化编码,http_only,CSP防护,WAF拦截等
测试流程:看输出想输入在哪里,更改输入代码看执行(标签,过滤决定)
xss和js是深度捆绑的,xss的危害取决于js的能力
XSS跨站-分类测试-反射&存储&DOM型
数据交互的地方
get、post、headers
反馈与浏览
富文本编辑器
各类标签插入和自定义
数据输出的地方
用户资料
数据输出
评论,留言等
关键词、标签、说明
文件上传
js是浏览器解析执行的
https://blog.csdn.net/lingggggaaaa/article/details/149914376三种xss的案例参考这个文章,我懒得截图了😄
1、反射非持续型:

常见情况是攻击者通过构造一个恶意链接的形式,诱导用户传播和打开,由于链接内所携带的参数会回显于页面中或作为页面的处理数据源,最终造成XSS攻击。
攻击流程:
你输入内容并点击提交,数据会发送到后端服务器。
后端既要做业务校验,还会直接把你输入的内容拼进HTML页面里,再把全新拼接好的页面返回浏览器;浏览器拿到页面,直接执行里面的恶意JS代码。
后端不会永久保存你提交的内容,只有你这次访问能触发攻击。
2、存储持续型:

存储型XSS是持久化的XSS攻击方式,将恶意代码存储于服务器端,当其他用户再次访问页面时触发,造成XSS攻击。
攻击流程:
你输入内容提交后,数据传给后端服务器。
后端先把你输入的恶意内容存入数据库永久保存;后续不管是谁访问这个页面,后端都会从数据库读出这段内容,拼进HTML页面再返回浏览器执行恶意代码,所有访问者都会中招。
3、DOM-Base型:
通过修改原始的客户端代码,受害者浏览器的DOM环境改变,导致有效载荷的执行。页面本身没有变化,但由于DOM环境被恶意修改,代码被包含进导致执行。
攻击流程:
你点击提交,数据确实会发送给后端,但后端只做单纯的业务校验:核对账号密码、验证码、身份Cookie是否合法,仅此而已。
后端全程不会把你输入的内容拼接进HTML页面,返回的页面源码和最一开始你访问拿到的源码完全一样;
读取恶意内容、把恶意代码插入网页标签、最后执行脚本的全部操作,都是浏览器里原本就写好的JS代码在本地完成,恶意代码渲染执行的全过程,后端完全不参与。