1.介绍
xss跨站脚本攻击,是指网页中嵌入客户端脚本,通常是JavaScript编写的危险代码,当用户使用浏览器浏览网页时,脚本就会在用户的浏览器上进行执行,从而达到攻击者目的。
靶场:BlueLotus可以制作xss的payload,查看获取的cookie值
通过xss获取cookie值后可直接登录页面
跨站:不同的网站,每一个网站,浏览器都会单独存储它的cookie
如何区别不同的网站:协议(http和https)+主机(ip和域名)+端口
2.xss验证
验证payload:
'"><script>alert(111)</script> 【其中'">主要是用于和前面的参数进行闭合,其中111可以用单引号和双引号进行括起来】
xss形成的原因:xss对于用户输入的信息没有进行处理,
3.xss分类
名称 | 介绍 |
反射型 | 这种类型的XSS攻击通常是一次性的,攻击者通过特定的手段(如电子邮件链接)诱导用户访问含有恶意脚本的URL。当用户点击这些链接时,恶意脚本会在用户的浏览器上执行。反射型XSS的触发通常只依赖于前端代码的处理,而不依赖于服务器端的数据。 |
存储型 | 攻击脚本会被存储在服务器端的数据库或文件中。当其他用户访问含有这些恶意脚本的页面时,他们的浏览器也会执行这些脚本。存储型XSS由于脚本被存储在服务器端,因此可以持续对用户造成威胁,并且由于其持久性,更容易造成蠕虫效应。 |
dom型 | 利用了浏览器中的DOM(Document Object Model,文档对象模型)功能。攻击者通过修改页面的DOM节点来插入恶意脚本,而不需要与服务器进行交互。DOM型XSS通常依赖于特定的JavaScript代码,并且可能需要针对具体的代码进行分析。(JavaScript代码执行但是页面不会弹窗,只在前端反应,waf无法阻拦) |
4.xss可能存在的地方
登录注册、提交评论、
a标签连接地址【payload:<a href='网址' οnerrοr=xss的payload >1111</a>】【当网址输入错误便执行xss的payload】
图片存在xss【payload:img src=x οnerrοr=xss的payload></img> 】【当图片加载失败便执行xss的payload】
.html追加的触发js事件,深入理解JS的事件绑定、事件流模型-CSDN博客
5.利用
可通过form查看请求方法,get无显示
get请求中:xss可以将输入的payload中的特殊符号写到网页需要进行url编码、html编码或在站长工具中进行在线短链生成器(将长的payload变为短url)
若waf将单引号’和双引号"进行过滤,可以用反引号
xss执行时,单引号‘不行就转为双引号“,因为浏览器可能会整体进行转换