XSS学习笔记

目录

什么是xss?

xss的分类

有什么作用(危害)?

反射型XSS

存储型XSS

DOM型XSS

XSS平台的使用

xss-lab

less-1

less-2

less-3

less-4

less-5

less-6

less-7 

less-8

less-9

​less-10

less-11

beef-xss


什么是xss?

跨站脚本攻击(cross-site-scripting,为避免和前端css重叠,所以用xss)是代码注入的一种

他允许恶意用户将代码注入网页,其他用户在浏览网页时就会受到影响

xss的分类

1.反射型XSS

2.存储型XSS

3.DOM型XSS

有什么作用(危害)?

反射型XSS

存储型XSS

DOM型XSS

XSS平台的使用

获取cookie的话基础默认模块就行

XSS学习笔记_第1张图片

复制代码到可能出现xss的地方

XSS学习笔记_第2张图片

后台运行之后xss平台即可接收到数据

XSS学习笔记_第3张图片

 如果接收不到数据,检查该网站是否能正确执行代码

可用弹窗检查

查看浏览器以及该网站是否开启http-only

如果都正常,那就是xss平台的问题了,多换几个试试

获取cookie后可以利用postman进行连接进入后台

xss-lab

less-1

直接将text修改成js代码,

XSS学习笔记_第4张图片

less-2

1.查看网页源代码,发现test值是value值

 2.因此首先闭合value再写入语句

">

XSS学习笔记_第5张图片

less-3

 通过查看源码发现它会将左右括号以及双引号转义

所以可以利用点击事件οnclick='alert(1)'

前面需要加上'上使其闭合,alert前也需加上'与本来存在的那个单引号组成'alert(1)'

此时代码如下

然后再点击输入框,即可通过

XSS学习笔记_第6张图片

less-4

查看源代码发现value处左右括号消失不见

而在h2标签处双引号以及左右括号被转义

因此还可以利用点击事件类似less-3

如下:"οnclick="alert(1)

即可通过

 XSS学习笔记_第7张图片

less-5

 查看源代码发现,value处没有改变,而在h2标签处双引号,左右括号被转义,如果利用点击事件会发现,onclick的on被隔开了,如图所示。

那么这里可以利用

123(点击123就会跳转链接,链接为该js代码)

构造如下图:先闭合标签在写入标签,那么input标签剩下的">点击即可跳转到js代码

 

 less-6

查看源代码发现与less-5类似,但是href却被隔开 

 可以尝试大小写绕过(!!html不区分大小写,!!javascript区分大小写)

所以将href改成Href即可

XSS学习笔记_第8张图片

less-7 

查看源代码发现,将所有字符转成了小写,同时将关键字删除

那么只需要双写关键字就行,如:

经过转换后即变成

XSS学习笔记_第9张图片

 less-8

 查看源代码发现以上方法都行不通,双写,大写都不行

那我们可以将代码转换成Unicode编码,html会将其解码

XSS学习笔记_第10张图片XSS学习笔记_第11张图片

 less-9

查看代码发现在前面的基础上添加了检查字符串是否包含http://

只需要在上一题基础上加上//http://,前面的//在js里就是注释,所以后面被注释掉了,前面能正常执行,而被注释掉的也能通过验证

XSS学习笔记_第12张图片less-10

less-11

beef-xss

终端输入beef-xss打开,然后在浏览器打开界面,复制代码到xss攻击处即可

然后即可在beef-xss进行攻击,查看信息等

 XSS学习笔记_第13张图片

XSS学习笔记_第14张图片XSS学习笔记_第15张图片 

你可能感兴趣的:(xss,前端,javascript)