海外的bug-hunters,不一样的403bypass

一种绕过403的新技术,跟大家分享一下。研究HTTP协议已经有一段时间了。发现HTTP协议的1.0版本可以绕过403。于是开始对lyncdiscover.microsoft.com域做FUZZ并且发现了几个403Forbidden的文件。
在这里插入图片描述
(访问fsip.svc为403)

在经过尝试后,得出一个结论:当清除所有header头的值时,服务器会对客户端作出响应。

结论1:

将HTTP协议版本更改为1.0,而且不要在标题中设置任何值。

结论2:

如果服务器和任何其他安全机制没有以正确的方式配置,不把Host放在header头内时,服务器将会自己把目标地址放在header中,这会导致服务器将我们的请求认做本地请求。
在这里插入图片描述
(访问fsip.svc为200)
在这里插入图片描述
用同样的方式尝试了另一个文件,并且再次成功bypass。
在这里插入图片描述
(403)
在这里插入图片描述
(200)

还要补充一点:你也可以用同样的方式去绕过CDN获取服务器IP。

例如:
在这里插入图片描述
如你所见,在Location中,它在返回中显示了域本身的地址。

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

再次使用相同的方法并发送请求时,显示了服务器的主地址。
在这里插入图片描述
以上技术已经被添加到burp工具当中:

https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122

------------------------------

以上这种思路虽然已经被添加到了burp插件,但我们依旧需要去学习了解插件运行背后的逻辑,而不只是当一个脚本小子。

尤其是在做黑盒测试中,秉持改变原有数据结构的FUZZ思路进行一切可能的尝试,才会挖掘出更有趣的漏洞。

在burp权限绕过插件中,除了以上尝试,还有诸多修改url请求的尝试,例如:

https://www.example.com..;/api/v1/users
https://www.example.com/api..;/v1/users
https://www.example.com/api/v1..;/users

这些尝试本质也是在破坏数据原有结构,利用后端,服务器等处理特性实现绕过。

其实除此外还可以进行任何可能的尝试:
https://www.example.com/api/v1/users

例如将v1改成v2,利用通配符代替数字,或者添加多余的字符串等等操作。

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

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

相关文章

阿里内部正式开源“Spring Cloud Alibaba (全彩小册)”

年轻的毕业生们满怀希望与忐忑,去寻找、竞争一个工作机会。已经在职的开发同学,也想通过社会招聘或者内推的时机争取到更好的待遇、更大的平台。 然而,面试人群众多,技术市场却相对冷淡,面试的同学们不得不面临着 1 个…

乘上 SpringBoot 东风,广场舞团掀起律动热潮

2 系统开发环境 2.1 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群,所以Java的发展迅速。…

【PlantUML系列】状态图(六)

一、状态图的组成部分 状态:对象在其生命周期内可能处于的条件或情形,使用 state "State Name" as Statename 表示。初始状态:表示对象生命周期的开始,使用 [*] 表示。最终状态:表示对象生命周期的结束&…

React学习笔记(一)

创建函数写法一&#xff1a; 重点&#xff1a;函数有几种写法 function DemoShow() {return (<div className"App">函数声明</div>); }export default DemoShow;对应js创建函数声明&#xff1a;function sum1(a,b){return ab } 创建函数写法二&#x…

Brain.js(九):LSTMTimeStep 实战教程 - 未来短期内的股市指数预测 - 实操要谨慎

系列的前一文RNNTimeStep 实战教程 - 股票价格预测 讲述了如何使用RNN时间序列预测实时的股价&#xff0c; 在这一节中&#xff0c;我们将深入学习如何利用 JavaScript 在浏览器环境下使用 LSTMTimeStep 进行股市指数的短期预测。通过本次实战教程&#xff0c;你将了解到如何用…

创建 React Native 项目

创建 React Native 项目 npx react-nativelatest init YourProject切换依赖源 切换好源之后&#xff0c;你需要进入 android 目录&#xff0c;然后运行 gradlew build 命令。 Android 依赖安装是使用 gradlew 进行管理的。 $ cd android $ ./gradlew build --refresh-depend…

ipset搭配iptables实现城市IP访问限制

最近刷了一台飞牛os&#xff0c;但是没有二次验证的功能&#xff0c;裸奔在公网上&#xff0c;看着让人揪心。于是最近研究了一下&#xff0c;设置防火墙只让某些城市能够访问设备&#xff0c;这样大大降低了服务器的风险&#xff0c;因为大多数被黑的原因都是来自国外。 1.下…

Linx下自动化之路:Redis安装包一键安装脚本实现无网极速部署并注册成服务

目录 简介 安装包下载 安装脚本 服务常用命令 简介 通过一键安装脚本实现 Redis 安装包的无网极速部署&#xff0c;并将其成功注册为系统服务&#xff0c;开机自启。 安装包下载 redis-7.0.8.tar.gzhttp://download.redis.io/releases/redis-7.0.8.tar.gz 安装脚本 修…

Meta Llama 3.3 70B:性能卓越且成本效益的新选择

Meta Llama 3.3 70B&#xff1a;性能卓越且成本效益的新选择 引言 在人工智能领域&#xff0c;大型语言模型一直是研究和应用的热点。Meta公司最近发布了其最新的Llama系列模型——Llama 3.3 70B&#xff0c;这是一个具有70亿参数的生成式AI模型&#xff0c;它在性能上与4050…

PyMongo:Python中的MongoDB客户端

PyMongo&#xff1a;Python中的MongoDB客户端 MongoDB是一个流行的NoSQL数据库&#xff0c;它以文档存储方式存储数据&#xff0c;与传统的关系型数据库相比&#xff0c;MongoDB在处理大规模数据和灵活的数据结构上具有显著优势。PyMongo是官方提供的MongoDB Python客户端库&a…

Mybatis相关面试题

一、什么是 Mybatis&#xff1f; 1、Mybatis 是一 个 半 ORM&#xff08; 对象 关 系 映 射 &#xff09;框架 &#xff0c;它内 部 封 装 了 JDBC&#xff0c;开发时只需 要 关 注 SQL 语句 本 身 &#xff0c;不 需 要 花 费 精 力 去 处 理 加 载 驱 动 、 创 建 连 接 、 创…

idea_maven详解

秒懂Maven maven简介maven安装和配置maven本地配置maven工程的GAVP创建maven工程项目结构说明项目构建说明 Maven依赖管理核心信息配置依赖管理配置依赖信息查询依赖范围设置依赖属性配置依赖下载失败错误解决Build构建配置依赖传递依赖冲突 maven工程继承继承作用应用场景继承…

使用qrcode 前端生成二维码

安装依赖 npm install qrcode在Vue中使用 <template><div class"qr-code-generator"><inputv-model"text"type"text"placeholder"请输入要生成二维码的内容"class"input-box"/><button click"g…

Linux Ubuntu 安装配置RabbitMQ,springboot使用RabbitMQ

rabbit-Ubuntu 一篇文章学会RabbitMQ 在Ubuntu上查看RabbitMQ状态可以通过多种方式进行&#xff0c;包括使用命令行工具和Web管理界面。以下是一些常用的方法&#xff1a; 1-使用systemctl命令&#xff1a; sudo systemctl start rabbitmq-server sudo systemctl status ra…

LeetCode—189. 轮转数组(中等)

题目描述&#xff1a; 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例1&#xff1a; 输入: nums [1,2,3,4,5,6,7], k 3输出:[5,6,7,1,2,3,4] 解释: 向右轮转 1 步:[7,1,2,3,4,5,6] 向右轮转 2 步:[6,7,1,2,3,4,5] 向…

C# 向上取整多种实现方法

1.使用 Math.Ceiling 方法&#xff1a; 在 C# 中&#xff0c;可以利用 System.Math 类下的 Math.Ceiling 方法来实现向上取整。它接受一个 double 或 decimal 类型的参数&#xff0c;并返回大于或等于该参数的最小整数&#xff08;以 double 或 decimal 类型表示&#xff09;。…

微信小程序报错:http://159.75.169.224:7300不在以下 request 合法域名列表中,请参考文档

要解决此问题&#xff0c;需打开微信小程序开发者工具进行设置&#xff0c;打开详情-本地设置重新运行&#xff0c;该报错就没有啦

vrrp主备备份

VRRP&#xff08;Virtual Router Redundancy Protocol&#xff0c;虚拟路由冗余协议&#xff09;是一种用于实现路由器冗余以提高网络可靠性的协议。以下是对VRRP的详细介绍&#xff1a; 基本概念 VRRP路由器&#xff1a;运行VRRP协议的路由器称为VRRP路由器。虚拟路由器&#…

Selenium:强大的 Web 自动化测试工具

Selenium&#xff1a;强大的 Web 自动化测试工具 在当今的软件开发和测试领域&#xff0c;自动化工具的重要性日益凸显。Selenium 就是一款备受欢迎的 Web 自动化测试工具&#xff0c;它为开发者和测试人员提供了强大的功能和便利。本文将详细介绍 Selenium 是什么&#xff0c…

Spark架构及运行流程

Spark架构图 Driver&#xff1a; 解析用户的应用程序代码&#xff0c;转化为作业(job)。创建SparkContext上下文对象&#xff0c;其负责与资源管理器(ClusterManager)通信&#xff0c;进行资源的申请、任务的分配和监控等。跟踪Executor的执行情况。可通过UI界面查询运行情况。…