25 WEB漏洞-XSS跨站之原理分类及攻击手法

2023-09-14 17:08:19

在这里插入图片描述

XSS跨站漏洞产生原理,危害,特点?

本质

跨站跟我们语言上面是没有什么关系,大部分都是前端的一个漏洞
在变量接收数据的时候,数据可以写成js脚本类似的代码。如果对方把你输入的数据进行一个回显操作,就是我们常说的输出操作,调式操作,由于这个数据是javascript的代码,是可以被浏览器识别,执行的,而它执行的结果是弹窗,alert(1)就是用来控制弹窗的值,所以我们这里看到的就是一个弹窗的效果
在这里插入图片描述
这就是一个简单的跨站漏洞的演示,通过这个漏洞我们可以很清楚的知道跨站漏洞的原理,就是一个可以控制的变量,一个输出的变量

网站或代码在对数据进行显示或调式的时候,出现了安全问题,因为我们经常访问网站的时候,会发现网站会显示一些内容,如果这个内容受你控制的话,你可以让页面显示其它内容,如果其它内容可以由javascript代码去显示的话,那么这个页面就会执行js代码,js代码是可以做常规操作的,比如获取浏览器的一些信息呀,js代码能干啥,跨站漏洞就能干啥

产生层面

在前端

函数类

常见的输出类函数,输出一个变量,输出一个我们能控制的值,这个地方就是产生跨站漏洞的地方

漏洞操作对应层,危害影响

危害受到js语句的影响,通过js代码实现对我们的攻击

浏览器内核版本等

我们在触发这个漏洞的时候,浏览器的版本和内核会决定这个漏洞执行情况

因为js代码是脚本,像这种常见的浏览器,他有些安全策略或者版本高的话,有一些安全机制,会阻止一些js脚本的执行,即使有漏洞的话,如果对方在触发这个漏洞的时候,采用的浏览器是一个比较安全的浏览器,这个时候即使有漏洞,你也是无法利用成功的,所以它是有一个鸡肋的地方,大家一定要记住
如果说大家点击了漏洞地址,但是就是没有攻击成功,其中有个原因就是浏览器过滤了

XSS跨站漏洞分类:反射,存储,DOM

从产生层面,具体区别,危害等级等讲解
存储型xss攻击会一直持续到你注入的数据被删除为止

#' οnclick="alert(2)">

onclick 鼠标触发事件
前几年的QQ空间,写日志界面出现过跨站漏洞,对方只需要在QQ空间里面,写一篇日志,日志上面写上一些跨站代码,诱使别人去访问,这个时候凡去看他日志的人,统统中招,如果是留言板或者评论区有跨站的话,你通过你的评论写入跨站代码插入到评论区,当下一个游客去看这些东西的时候,就会触发你之前的跨站语句,只要是你之后的访问者都会被触发,这就是存储型跨站漏洞攻击。

反射型跨站在有些SRC网站上面是不接收的,但是存储型是可能会接收的
浏览器看到的源代码只是编译、执行之后的结果,那并不是他的源代码
在这里插入图片描述
dom型是给了前端代码,没有给到后端语言处理

我们采用模糊测试,慢慢的测试出来xss,我们没有看程序的源代码,因为他是后端处理,但是如果是dom型的,可以通过看前端代码看出来

我们前期可能要测试sql注入或者其它漏洞,最终确定为dom型跨站,如果我们代码能力强,就能够很快的知道,这个地方存在dom型跨站漏洞

xss一些输出性的东西造成的情况,也就是说我们能够控制页面的显示内容,那么就可以进行跨站漏洞的测试,留言板是一个很经典的地方

如果我们把跨站语句写到电话、地址、昵称那里,那么对方在后台看订单信息的时候,是不是相当于会把信息在页面当中进行展示,这个时候,我们写的是跨站代码,对方就会执行跨站代码,代码的效果就是获取当前后台登录人的cookie,我们就可以通过cookie,登录到他的后台,把之前的订单全部给他搞出来,以前最喜欢的跨站攻击就是搞这种事情,这个xss得是存储型的

XSS常规攻击手法:平台,工具,结合其他等

搜索xss平台,xss平台大部分是免费的,我们也可以自己搭建,如果我们用的是对方的平台,因为数据都是储存到他那边的,我们攻击的效果他那边都能进行查看,如果我们搞得事情比较敏感,不希望外人知道,你也可以自己搭建,如果无所谓,那就在上面搞个免费的用户用一下就行了

https://xssaq.com/

在这里插入图片描述
这上面的模块并不是都是可以的,在实战当中可能会失败

演示案例:

XSS平台及工具简要演示测试

#cookie session
用户凭据: 通过凭据可以判断对方身份信息
cookie 存储本地 存活时间较长 小中型公司
session 会话 存储服务器 存活时间较短 大型公司

我们经常使用银行APP,我们当前还在操作app,但是过来一分钟之后,没有操作他,或者说你重新切换了下页面,然后你再来到这个app页面的时候,他会让你重新在登录,这个就是很明显的session验证,session验证就像打电话一样,你打给对方,对方接到和你正在通话,当你没有说话,对方就会挂掉,然后你再想跟对方通话的时候,就需要重新再打

cookie验证就不一样了,你登录到网站上面,过一会时间,你在去刷新这个页面的时候,还是登录状态,这就是cookie登录

session会比cookie更加安全,因为session是存储到服务端的,所以它会占用服务器的存储空间,如果这个网站有成千上万个用户的话,他登录一次就会产生一个session文件,登录一次就会产生一个session文件,这个用户类的处理量对服务器是有很大的资源损耗,所以小型网站不会用到session,因为他会损耗服务器资源,这个session使用起来,要比cookie麻烦一些。所以造成小中型网站会使用cookie

我们说的xss盗取cookie,也指的是盗取对方的信息,其实也包括session数据,它也能获取到,但是有一点,你获取到session,对方没有在操作,session会话会失效,但是cookie不一样,一般只要不是很长时间,都能用,这个要看对方具体服务器和配置,就像我们说的登录保存的时间,或者对方登录服务器的保存时间

网上有两种攻击方式,一种是盗取cookie,一种是会话劫持,会话劫持指的是我们说的session

我们在网站登录的时候会有一个选项,保存3天还是一个月的用户凭据到你电脑上面,我们用xss盗取就是盗取这个凭据,如果你自己没有登录这个网站后台的话,对方即使攻击你的话,他攻击获取的cookie也不是用户的cookie,仅仅只是一个没有登录用户的cookie

像普通用户的cookie,比如说游客,登录的普通用户,这个cookie就没有什么用,因为我们目前大部分盗取cookie,是要获取对方管理员的cookie,如果对方不登录,我们就没办法了,这就是跨站漏洞不被很多人喜欢的原因,就是他的限制条件实在是很多,比如我们用cookie盗取操作的话,如果对方浏览器阻止了,那也是GG,如果对方没有登录后台,产生它自身的cookie,你盗取也没有用,必须是你想要的用户的cookie才可以

你经常登录网站,选择保存,下回你登录网站就不需要你输入账号,自动帮你输上去,这个操作记录的就是当前浏览器的信息,如果对方无痕浏览或者说对方没有登录,他自己也是管理员,他也可以不登录,看一下而已,或者不保存也可以,他登录一次,他就退出一次,清除一次,那也没办法攻击成功

我们攻击成功的条件:对方有漏洞,对方浏览器不会阻止脚本的运行,对方登录浏览器并保存了它的cookie,网站对xss过滤的不严谨,对方触发了这个漏洞。登录之后,我们要获取对方的登录cookie,获取到cookie之后,就可以登录到对方的后台

xss漏洞利用起来是有很多条件的,这也造成跨站漏洞,网站不收,我们在发现这个漏洞,也不会去利用的原因。但是这个漏洞有,还是可以根据实际情况尝试利用一下的

网站管理员打不打开这个钓鱼链接,取决于网站管理员而不是我们,但如果是订单页面,他绝对会去看,这种情况,成功率绝对会高,其它的,我们就不要去利用了

反射型跨站不用想,直接不用去看,直接GG
前期我们演示有价值的,大部分都是存储型跨站,就像留言板或者数据交互的地方,数据发送过去,对方必定要看的,像这样子的地方就是有利用的必要

更多推荐

第三十章 Classes - 方法生成器

[toc]第三十章Classes-方法生成器方法生成器方法生成器是类编译器在类编译期间调用的程序。它的输出是该方法的实际运行时实现。方法生成器提供了一种继承方法的方法,可以生成根据继承类或属性的需要定制的高性能、专用代码。在IRIS库中,方法生成器广泛用于数据类型和存储类。ClassQueries类可以包含类查询。类查

【自学开发之旅】Flask-会话保持-API授权-注册登录

http-无状态-无法记录是否已经登陆过#会话保持–sessioncookiesession–保存一些在服务端cookie–保存一些数据在客户端session在单独服务器D上保存,前面数个服务器A,B,C上去取就好了,业务解耦。—》》现在都是基于token的验证。以上是基于BS架构API授权由服务端完全把控三张表,ap

【Linux基础】第29讲 Linux用户和用户组权限控制命令(一)

1useradd添加新用户(注意:当前用户必须有添加用户的权限)1)基本语法useradd用户名(功能描述:添加新用户)2)案例root@sue-virtual-machine:/usr/local#useraddhadoop2passwd设置用户密码1)基本语法passwd用户名(功能描述:设置用户密码)2)案例ro

JavaScript与jQuery(下篇)

JavaScript与jQuery笔记(下篇)一、获取jquery二、jquery选择器三、jquery事件四、jquery操作Dom元素————————创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~jQueryjquery库,里面存在大量的javascript函数一、获取jqueryhttps://w

【1++的C++进阶】之特殊类设计

👍作者主页:进击的1++🤩专栏链接:【1++的C++进阶】文章目录一,设计一个类使其不能被拷贝二,设计一个类只能在堆上创建对象三,设计一个类只能在栈上创建对象四,设计一个类不能够被继承五,单例模式一,设计一个类使其不能被拷贝我们有三种方法能够设计此种类拷贝构造函数私有化拷贝构造函数只声明不定义拷贝构造函数后加del

Django05_反向解析

Django05_反向解析5.1反向解析概述随着功能的不断扩展,路由层的url发生变化,就需要去更改对应的视图层和模板层的url,非常麻烦,不便维护。这个时候我们可以通过反向解析,将url解析成对应的试图函数通过path或re_path中的name属性进行解析反向解析一般用在模板中的超链接及视图中的重定向在之前内容中,

美国零售电商平台Target,值得入驻吗?如何入驻?

Target是美国最大的零售商之一,在品牌出海为大势所趋的背景下,它在北美电商中的地位节节攀升。Target商店在众多垂直领域提供各种价格实惠的自有品牌,吸引越来越多的跨境商家入驻,如美妆、家居、鞋服、日用百货等,随着电子商务平台Target+的推出,其在线业务在过去几年中显着增长。  为什么品牌需

招股书更新9版终上市,飞沃科技能否躲过风电红利后的黯淡?

文丨熔财经作者丨文泽碳达峰、碳中和成为主旋律目标下,作为可再生能源主力的风电产业迎来了发展的“黄金时代”。与新能源相关的上下游企业也赚的“盆满钵满”。在此背景下,飞沃科技(301232.SZ)历经4轮问询,更新9版招股书终于登陆资本市场。从业务布局与业绩表现来看,飞沃科技具备“小巨人”的典型特征:在细分领域表现突出、竞

APSIM模型的生育期影响因子及算法

为什么种植和收获时间改了,图表还是不对应??那么就涉及到调节生育期相关参数APSIM模型是作物模型领域实践最广泛的模型。DNDC模型、DSSAT模型、AQUACROP模型、WOFOST模型、SICTS模型、PCSE模型也是非常热门APSIM(AgriculturalProductionSystemssIMulator)

ONES 全球化启航,用软件服务全球企业

美西太平洋时间2023年9月6日至9月8日,SaaStrAnnual2023大会在美国旧金山举办。作为全球最大规模、最具影响力的SaaS行业盛会,SaaStr吸引了上万名来自世界各地的SaaS行业从业者,ONES也作为展商之一参与其中。在为期三天的大会期间,ONES展位迎来了大量的SaaS优秀同行、企业管理者和投资人,

Fast-DDS 服务发现简要概述

阅读本文章需要对DDS基础概念有一些了解,一些内容来自Fast-DDS官方文档,一些是工作中踩过的坑。1.服务发现阶段满足OMG标准的DDS服务发现分为两部分,分别是:PDP(ParticipantDiscoveryProtocol参与者发现协议):参与者确认彼此的存在。参与者会定期发送公告信息,消息包括但不限于参与者

热文推荐