0%

第59天-XSS跨站&反射型&存储型&DOM型&接受输出&JS执行&标签操作&SRC复盘

演示案例:

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代码在本地完成,恶意代码渲染执行的全过程,后端完全不参与。