pikachu学习——XSS漏洞3种基本类型

XSS漏洞是一种发生在Web前端危害较大的漏洞,其危害对象主要是前端用户,此漏洞可以用来进行钓鱼攻击,前端js挖矿,用户cookie获取,甚至结合浏览器对用户主机进行远程控制等。

XSS漏洞常见类型有3种,分别是反射型,储存型和DOM型,危害性:储存型>反射型>DOM型。

反射型:交互数据一般不会储存在数据库里面,一次性,所见即所得,一般出现在查询页面等

储存型:交互的数据会被储存在数据库里面,永久性储存,一般出现在留言板,注册等页面

DOM型:不与后台的服务器产生数据交互,是一种通过DOM前端代码输出的时候产生的问题,一次性也属于反射型

下面我在pikachu平台对这几种常见类型进行演示。

反射型XSS漏洞

首先我们可以在界面中输入一些特殊的字符进行提交,例如‘"<>112233

根据返回信息我们知道错误,数据库没有,那么我们直接右击查看页面源代码,

用Ctrl+f快捷键快速搜索刚提交的信息、

我们发现我们输入的特殊字符直接被输出到html的p标签中,那我们就可以直接在前端写入js语句让它输出到这里进行执行

但输入之前我们应打开火狐浏览器web控制台修改一下可输入最大字符长度

输入简单js的弹窗语句,试一下

我们发现我刚输入的js代码成功在浏览器中执行,这就是反射型XSS漏洞get型,

但是我们从前端输入的信息并未在后端进行存储,当我们刷新页面时,我们上一次输入的信息就会消失。

存储型XSS漏洞

我刚才已经介绍了反射型XSS漏洞,存储型XSS漏洞与它不同的就是它可以把我们注入到后台的脚本存储起来,造成更持久的危害,

我们可以打开pikachu平台存储型XSS漏洞模块,首先输入一些特殊字符你可以在页面源码中看到它被输出到了后端

然后我们在前端输入一个js弹窗语句

我们发现语句被执行了,刷新一下界面

我们发现依然会弹出弹窗,查看页面源码,我们发现输入的脚本被储存进了数据库中,这就是存储型XSS漏洞

DOM型XSS漏洞

DOM我们可以把它理解为一个访问html的标准编程接口

打开pikachu平台DOM界面随便输入一些信息

随便输入些字符,返回了what do you see?然后我们查看一下页面源码。

通过js代码可知道,他将我们输入的值拼接到了一个a标签里并将拼接的结果再放入id=dom的盒子里

所以我们可以通过闭合的方式利用这个漏洞 在输入框中输入<a href=‘#‘ onclick="alert(‘xss‘)"‘>what do you see?</a>"

然后将我们补充部分也就是#‘ onclick="alert(‘xss‘)"输入到框中执行,

如图输入内容后点击“what do you see”就看到我们输入的js弹框,原理就是我们前端输入的信息被DOM获取进行了相关操作,并从前端输出

接下来我们试一下DOM型xss-x,随便输入一些信息,看一下它的源码

查看源码发现他通过window.location获取url中我们的输入信息然后还是发送到a标签。我们再次使用上次的代码进行,发现依然弹出窗。

这样写与上面不同的就是他的输入是从前端的url中获取,及漏洞输入点在我们url的参数中类似上面提到的反射型

window.location获取url中我们的输入信息然后还是发送到a标签。我们再次使用上次的代码进行,发现依然弹出窗

原文地址:https://www.cnblogs.com/swl0221/p/12617744.html

时间: 2024-10-09 22:55:46

pikachu学习——XSS漏洞3种基本类型的相关文章

XSS漏洞详解

Xss漏洞介绍: Cross-Site Scripting,简称为XSS或跨站脚本或者跨站脚本***.是一种针对网站或者应用程序的漏洞***技术,也是利用代码注入的一种.它允许恶意用户将代码注入网页,其他用户浏览网页时将会受到影响.XSS***分为三类:反射型,存储型,DOM型 XSS漏洞原理及利用: 反射型XSS反射型XSS又称非持久型XSS,***方式仅具有一次性.***方式:gongji者通过包含XSS代码的恶意链接发送给受害者,当受害者访问该连接时,服务器接收该受害者用户的请求并进行处理

从零学习安全测试,从XSS漏洞攻击和防御开始

WeTest 导读 本篇包含了XSS漏洞攻击及防御详细介绍,包括漏洞基础.XSS基础.编码基础.XSS Payload.XSS攻击防御. 第一部分:漏洞攻防基础知识   XSS属于漏洞攻防,我们要研究它就要了解这个领域的一些行话,这样才好沟通交流.同时我建立了一个简易的攻击模型用于XSS漏洞学习. 1. 漏洞术语 了解一些简单术语就好. VUL Vulnerability漏洞,指能对系统造成损坏或能借之攻击系统的Bug. POC Proof of Concept,漏洞证明:可以是可以证明漏洞存在

spring框架学习6:spring-aop的五种通知类型

使用springaop时需要注意,如果bean对象,即service层的对象没有实现接口的话,使用spring-aop的话会报错,因此需要在service层创建接口. spring-aop的基层是基于动态代理来实现的,动态代理的实现有两种方式: 1.jdk动态代理 spring模式默认使用jdk动态代理,jdk动态代理要求目标类的对象必须实现一个接口,而且获取目标类对象的时候要做向上转型为接口. 2.cglib动态代理 cglib代理方式spring aop也支持,cglib实现动态代理的时候,

JSONP存在的JSON Hijacking漏洞以及与csrf/xss漏洞的关系

在实习过程中接触过所谓的JSON Hijacking 漏洞,但最近在写论文时发现理解得不深,好像跟xss与csrf又有点区别与联系,索性深入学习了下 JSONP. 下面一段话截取自:http://stackoverflow.com/questions/2067472/what-is-jsonp-all-about   仔细看看就比较清晰了. Say you're on domain abc.com, and you want to make a request to domain xyz.com

XSS - 漏洞

我需要的爱就在我的心里,其他人只是让我记得那份早已存在于内心的爱,一个去谈恋爱的人就像一个水槽里面有水,这个水就是你爱自己的程度,我爱你是因为我跟你在一起我的样子,就是你把我激发起来你让我变得更好了,但是前提是我也很爱我自己 真相不重要,结果是怎样才最重要.死不死不是别人说了算的,要看你自己愿不愿意.-----大上海2012 跨站脚本漏洞概述: 跨站脚本漏洞类型及测试流程: 1.在目标站点上找到输入点,比如查询接口,留言板等: 2.输入一组 特殊字符 + 唯一识别字符,点击提交后,查看返回得源码

WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案

对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避免后知后觉的犯下大错,专门参考大量前辈们的心得,小小的总结一下,欢迎大家拍砖啊 一.跨站脚本攻击(XSS) 跨站脚本攻击的原理 XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入恶意脚本代码,而程序对于用户输入内容未过滤,当用户浏览该页之时

使用Fiddler的X5S插件查找XSS漏洞

OWASP top 10的安全威胁中的CrossSite Scripting(跨站脚本攻击),允许攻击者通过浏览器往网站注入恶意脚本.这种漏洞经常出现在web应用中需要用户输入的地方,如果网站有XSS漏洞,攻击者就可以通过这种漏洞向浏览网站的用户发送恶意脚本,同时也可以利用该漏洞偷取sessionid,用来劫持用户帐户的会话. 所以网站开发者必须针对这种攻击进行适当的测试,必须过滤网站的每个输入及输出.为了使漏洞检测更容易,也可以使用各种扫描器,有很多自动或手动工具可以帮我们查找这些漏洞.X5S

利用窗口引用漏洞和XSS漏洞实现浏览器劫持

==Ph4nt0m Security Team==                        Issue 0x03, Phile #0x05 of 0x07 |=---------------------------------------------------------------------------=||=---------------=[ 利用窗口引用漏洞和XSS漏洞实现浏览器劫持 ]=---------------=||=---------------------------

2016-02-03 xss漏洞

应用上出现了xss漏洞.是由一个get请求的ajax接口返回的一个字段中有xss漏洞引起的.该字段本来是要展示出来的,但是补丁版的时候去掉了这块的展示,接口还是返回的.现在引发了xss漏洞,有些同事是不太理解的,为什么我返回的这个字段都没有展示,还会引起xss漏洞呢? 其实我是理解他的意思的,返回的字段没有用,就没有放进页面中(不会与页面中的标签引起xss漏洞),并没有执行(真的没有执行吗?),为什么会出现呢? 我当时的理解是,虽然没有放进页面中,但是浏览器还是会对接口的返回数据做一些处理的.进