Pikachu---XSS

XSS(跨站脚本)概述

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
1.反射性XSS;
2.存储型XSS;
3.DOM型XSS;

XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

反射型XSS(GET)

发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS随响应内容一起返回给浏览器,最后浏览器解析执行XSS代码,这个过程就像一次发射,所以叫反射型XSS。
在这里插入图片描述
在这里插入图片描述
我们输入kobe试一下
在这里插入图片描述
我们构造payload试一下

<script>alert(/xss/)</script>

在这里插入图片描述
这里我们发现输入不完全,然后我们f12打开源代码看一下,发现最大长度被限制了。
在这里插入图片描述
我们将其改为200,然后我们返回页面再输入payload试一下
在这里插入图片描述

反射型XSS(POST)

发现这个页面需要登录,无从下手,我们先根据提示登录
在这里插入图片描述
在这里插入图片描述
登录成功以后我们再输入刚才的payload试一下

<script>alert(/xss/)</script>

在这里插入图片描述

存储型XSS

存储型XSS和反射型的XSS差别就在于,存储型的XSS提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。
在这里插入图片描述
然后我们输入刚才的payload试一下

<script>alert(/xss/)</script>

在这里插入图片描述
在这里插入图片描述
然后我们试着在payload后加些字母进去重新试一下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
发现前面的payload也被引用了,说明这里只要点一下submit就会一直存储,知道删除为止。

DOM型XSS

不经过后端,DOM-XSS漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞,DOM-XSS是通过url传入参数去控制触发的,其实也属于反射型XSS。
造成DOM型XSS的原因是前端的输入被DOM给获取到了,通过DOM又在前端输出,跟反射型和存储型比起来,它是不经过后台交互的。
在这里插入图片描述
我还是输入刚才的payload试一下

<script>alert(/xss/)</script>

在这里插入图片描述
点击what do you see?进去发现无法弹窗
在这里插入图片描述
然后我们查看源代码看一下有没有什么问题,发现我们构造的payload嵌在在< a >里了

在这里插入图片描述
我们要想办法闭合它,所以我们需要构造一个新的payload

#' onclick=alert("xss")>

在这里插入图片描述
在这里插入图片描述

DOM型XSS-X

在这里插入图片描述
我们输入payload试一下发现无弹窗

<script>alert(/xss/)</script>

在这里插入图片描述
查看源代码发现也是被嵌在< a >里了,我们还是使用payload来闭合它

#' onclick=alert("xss")>

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值