网络安全全栈培训笔记(53-WEB攻防-通用漏洞跨域CORS资源JSONP回调域名接管劫持)

news2025/2/24 18:32:33

第54天 WEB攻防-通用漏洞&跨域CORS资源&JSONP回调&域名接管劫持在这里插入图片描述

知识点:

1、子域名接管检测&探针&利用
2、C0SP跨域资源检测&探针&利用
3、JSONP跨域回调-检侧&探针&利用

#前置知识点:
同源策路(SOP),“同源”包括三个条件:同协议同域名同端口
同源策路限制从一个源加载的文档或脚本与来自另一个源的资源进行交互,这是一个用于隔
离潜在恶意文件的关键的安全机制简单说就是浏览器的一种安全策略。
虽然同源策路在安全方面起到了很好的防护作用,但也在一定程度上限制了一些前端功能的
实现,所以就有了许多跨域的手段。

子域名接管:
域名解析记录指向域名,对应主机指向了一个当前未在使用或已经删除的特定服务,攻击
者通过注册指向域名,从而控制当前域名的控制权,实现恶意软件分发、网络钓鱼/鱼叉式
网络钓鱼、XSS、身份验证绕过等。子域名接管不仅仅限于CNAME记录,NS,MX甚至A
记录也会受到影响。
检测项目:
https://github.com/pwnesia/dnstake
https://github.com/anshumanbh/tko-subs
https://github.com/mhmdiaa/second-order
https://github.com/r3curs1v3-proxy/sub404

COSP跨域资源(为了解决非同域名资源调用的问题)
CORS全称Cross-Origin Resource Sharing,跨域资源共享,是HTML5的一个新特性,已被
所有浏刘览器支持,跨域资原共享(C0RS)是一种放宽同源策路的机制,它允许浏览器向跨源
服务器,发出XMLHttpRequesti请求,从而克服了AJAX只能同源使用的限制,以使不同的
网站可以跨域获取数据。
Access-Control-.Allow-Origin:指定鄂些域可以访问域资源。伤例如,如果requester.com想
要访问provider…com的资源,那么开发人员可以使用此标头安全地授子requester…com对
provider…com资源的访问权限
Access-Control–Allow-Credentials:指定浏览器是否将使用请求发送cookie。仅当alow-
credentials标头设置为true时,才会发送Cookie.
Access-Control-.Allow-Methods:指定可以使用那些HTTP请求方法(GET,PUT,
DELETE等)来访问资源。此标头允许开发人员通过在requester.com情求访问
provider.com的资源时,指定哪些方法有效来进一步增强安全性。
检测项目:https://github.com/chenjj/CORScanner

JSONP跨域回调
JSONP跨域巧妙的利用了scriptt标签能跨域的特点,实现了json的跨域传输。
检测项目:手工审查元素筛选或Burp项目
https://github.com/p1g3/JSONP-Hunter

演示案例:

CORS资源跨域敏感页面源码获取
JSONP回调跨域-某牙个人信息泄露
子域名接管瓜迪个人子域名劫持接管
检测项目-CORS&JSONP&子域名接管

CORS和CSRF攻击的区别
在这里插入图片描述
#CORS资源跨域致感页面源码获取
复现步骤:
1、本地塔建访问页面跨域调用URL
2、受害者访问当前页面被资源共享
思路:受害者登录后台界面–访问恶意构造的链接–致使后台资源发送到攻击者vps
在这里插入图片描述
上述代码为请求http://localhost/Zblog/zb_system/admin/index.php这个地址,然后因为这是网站后台是登录状态可以直接访问,那么就会把里面的内容以变量z0发到http://localhost:80/cors1.php。然后cors1.php就会接收变量发送的请求并保存到本地。
整个攻击的流程和csrf非常的相似,但是大多数网站目前都开启的同源策略会导致CSRF失效,而通过资源跨域可以实现敏感信息泄露。
在这里插入图片描述
在白盒代码审计的情况下就是看设置问题了,就是看origin设置的是不是*,是星号,那么就有这个漏洞。而黑盒就是看origin设置后能通过资源。上面说过这个origin这个值在请求头中,那我们是不是可以抓包修改。

参考链接:https://www.freebuf.com/articles/web/204023.html

#JSONP回调跨域某牙个人信息泄露
复现步骤:
1、登录某牙找到回调有敏感信息
2、本地搭建访问页面跨域调用URL
3、访问本地页面可获取当前某牙信息
当用户点击这个html之后就会被攻击者得到回调
而这个和csrf的区别就是一般大型网站都会检测同源策略,所以你只能用这个回调去获取一些信息。而找这个漏洞就是看你能不能找到这个回调,回调里面有没有敏感信息。如果有那么这里就有安全问题。可以直接在数据包那里搜callback来查看回调

#子域名接管瓜迪个人子域名劫持接管
复现步骤:Xia0di8com
1、通过检测cname获取指向
2、发现testxiaodi fun过期受控
3、注册testxiaodi fun:实现控制

#检测项目-CORS&JSONP&子域名接管
1.python cors_scan.py-i top_100_domains.tx-t 100
2、人工排查+burpsuite安装Jsonp_Hunter py抓包使用
3、dnsub爬取子域名筛选接管

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1391500.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【CSDN博客系列】自定义模块

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

3、Numpy中的通用函数

目录 数学运算 三角函数 比较函数 位运算函数 统计函数 布尔/逻辑函数 浮点函数 排序、搜索和计数函数 在 NumPy 中,通用函数(通常称为ufunc)是一种对 ndarray 中的数据执行元素级运算的函数。这些函数是高度优化的、快速的向量化包装…

element中Table表格控件单选、多选功能进一步优化

目录 一、代码实现1、 父组件2、子组件&#xff08;弹框&#xff09; 二、效果图 一、代码实现 1、 父组件 <template><div><!-- 用户选择嵌套弹框 --><el-dialog :close-on-click-modal"false" :close-on-press-escape"false" tit…

史上最全的数据科学与艺术

1.背景介绍 数据分析是一种将数据转化为价值的艺术和科学。它涉及到大量的数学、统计、编程、数据库、机器学习等多个领域的知识。数据分析的目的是从数据中提取有用的信息&#xff0c;以便做出明智的决策。 数据分析的艺术体现在数据分析师需要具备丰富的经验和洞察力&#…

C语言第一弹---C语言基本概念(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 C语言基本概念 1、C语言是什么&#xff1f;2、C语言的历史和辉煌3、编译器的选择VS20223.1、编译和链接3.2、编译器对比3.3、VS2022优缺点 4、VS项目和源文件、头…

从零开始搭建个人代理IP池的全程实录

创建个人代理IP池是一项相对复杂的技术任务&#xff0c;涉及到网络爬虫、服务器运维、数据库管理等多个领域。下面我将提供一个简化的步骤指南&#xff0c;但请注意这需要一定的编程基础和网络知识&#xff1a; 1. 获取IP资源&#xff1a; - 从免费或付费的代理IP提供商处获取I…

【视觉SLAM十四讲学习笔记】第五讲——相机模型

专栏系列文章如下&#xff1a; 【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍 【视觉SLAM十四讲学习笔记】第二讲——初识SLAM 【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵 【视觉SLAM十四讲学习笔记】第三讲——旋转向量和欧拉角 【视觉SLAM十四讲学习笔记】第三讲——四元…

Angular系列教程之zone.js和NgZone

文章目录 什么是zone.jsZone的工作原理Zone的常见用途NgZone&#xff1a;Angular中的zone.js使用NgZone使用NgZone执行代码使用NgZone外部检测 结论 什么是zone.js 在Angular中&#xff0c;zone.js是一个非常重要的库&#xff0c;它为我们提供了一种跟踪和管理异步操作的机制。…

将某个GitLab上的项目自动同步到另一个GitLab账户下的仓库

引言 我们在进行项目迁移&#xff0c;或者是给甲乙外包写项目&#xff0c;需要迁移代码或者同步更新时&#xff0c;所处于的GitLab地址是不一样的&#xff0c;那么我们如何进行同步呢&#xff1f;我们可能第一时间会想到&#xff0c;先拉A地址的代码到本地&#xff0c;然后覆盖…

【SpringCloud】这一次终于使用MQ解决了Eureka服务下线延迟感知问题

前言 其实&#xff0c;“通过Redis手动更新Ribbon缓存来解决Eureka微服务架构中服务下线感知的问题”是一种解&#xff0c;但不是最优解 1.痛点 上一篇文章的标题是&#xff1a; 通过Redis手动更新Ribbon缓存来解决Eureka微服务架构中服务下线感知的问题 当时在文章的末尾就…

【Flutter 开发实战】Dart 基础篇:List 详解

嗨&#xff0c;各位朋友们&#xff0c;欢迎来到这篇博客&#xff01;今天我们将一起踏入 Dart 语言的神奇世界&#xff0c;深入了解 Dart 中的 List 类型。不用担心&#xff0c;我会尽可能用最通俗易懂的语言&#xff0c;让你对 List 有一个更深刻的理解。 Dart 中的 List Li…

重学Java 7 数组Arr.1

我欲与君相知&#xff0c;长命无绝衰 ——24.1.16 一、数组的定义 1.概述&#xff1a;数组是一个容器&#xff0c;数组本身属于引用数据类型 2.作用&#xff1a;一次存储多个数据 3.特点&#xff1a; ①既可以存储基本类型的数据&#xff0c;也可以存储引用类型的数据 ②定长&a…

Redis 消息队列和发布订阅

文章目录 基本模式生产者消费者原理&模型redis实现java实现 发布者订阅者原理&模型redis实现java实现 stream模式原理&模型工作原理redis实现Java实现 选型外传 基本模式 采用redis 三种方案&#xff1a; ● 生产者消费者&#xff1a;一个消息只能有一个消费者 ●…

计算机毕业设计 基于SSM的历史/博物馆藏系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

一天吃透计算机网络面试八股文

目录&#xff1a; 网络分层结构三次握手两次握手可以吗&#xff1f;四次挥手第四次挥手为什么要等待2MSL&#xff1f;为什么是四次挥手&#xff1f;TCP有哪些特点&#xff1f;说说TCP报文首部有哪些字段&#xff0c;其作用又分别是什么&#xff1f;TCP和UDP的区别&#xff1f;…

DWM1000 MAC层

DWM1000 MAC层 MAC层 概述 MAC层&#xff0c;即媒体访问控制层&#xff0c;是数据通信协议栈中的一个重要部分&#xff0c;位于链路层的下半部分&#xff0c;紧邻物理层。在OSI模型中&#xff0c;它属于第二层&#xff0c;即数据链路层的一部分。MAC层的主要职责是控制如何在…

去中心化社交:Web3如何重新定义社交媒体

随着区块链技术的快速发展&#xff0c;Web3正在崭露头角&#xff0c;成为社交媒体领域的一股新潮流。去中心化社交的理念与技术创新正在重新定义用户的社交体验&#xff0c;颠覆传统社交媒体的中心化模式。本文将深入探讨Web3对社交媒体的影响&#xff0c;以及去中心化社交是如…

Ubuntu使用QtCreator + CMake 开发C/C++程序

平台 OS: Ubuntu 20.04 cmake: 3.16.3 IDE: Qt Creator 4.11.1 Based on Qt 5.14.1 (GCC 5.3.1 20160406 (Red Hat 5.3.1-6), 64 bit) Built on Feb 5 2020 12:48:30 From revision b2ddeacfb5 Copyright 2008-2019 The Qt Company Ltd. All rights reserved. The program …

DC电源模块在新能源领域的应用前景

BOSHIDA DC电源模块在新能源领域的应用前景 DC电源模块在新能源领域有着广阔的应用前景。随着可再生能源技术的发展和普及&#xff0c;如太阳能和风能等的应用逐渐增多&#xff0c;DC电源模块在这些领域的应用越来越重要。 首先&#xff0c;DC电源模块可以用于太阳能发电系统…

transfomer中正余弦位置编码的源码实现

简介 Transformer模型抛弃了RNN、CNN作为序列学习的基本模型。循环神经网络本身就是一种顺序结构&#xff0c;天生就包含了词在序列中的位置信息。当抛弃循环神经网络结构&#xff0c;完全采用Attention取而代之&#xff0c;这些词序信息就会丢失&#xff0c;模型就没有办法知…