【网络安全】-ssrf服务器请求伪造攻击-burp

news2024/11/17 5:26:15

SSRF攻击服务器请求伪造攻击

CSRF攻击跨站请求伪造攻击也称客户端请求伪造攻击

两种攻击最主要的区别是一个在服务器,一个在客户端。

文章目录

前言  什么是SSRF攻击?

1.分类:

  针对服务器的 SSRF 攻击:

       针对后端系统的SSRF攻击:

2.SSRF攻击的绕过

  url解析绕过:

  ip地址进制转换:

  指向任意IP的域名xip.io

  协议限制绕过

3.ssrf攻击的防护:

总结


前言  什么是ssrf攻击?

由hacker构造请求,利用存在缺陷的Web应用作为代理,让服务端发起请求。


1.分类:

针对服务器的 SSRF 攻击:
攻击的定义:

由hacker构造请求,利用存在缺陷的Web应用服务器作为代理,让服务器发起请求的攻击。

这种攻击允许攻击者绕过对源IP地址的检查,访问受限的内网资源,甚至从内部系统中窃取数据、执行远程代码或对特定服务发起拒绝服务攻击

攻击的步骤:

1.发现漏洞:首先识别出可以触发服务器发起HTTP请求的点,如图片加载、文件下载、API请求等功能。

2.请求构造:创建一个精心设计的请求,这个请求将由服务器发送,目的可能是与服务器的内部网络或者外部恶意服务器通信。

3.执行与利用:将构造的请求发送到漏洞点,让服务器不自觉地执行该请求,将结果返回给攻击者或影响内部系统。

举例:burp靶场-针对本地服务器的基本 SSRF

描述:

步骤:

1.访问某个商品,点击“检查库存”,在 Burp Suite 中拦截该请求,并将其发送给 Burp Repeater。

2.将参数中的 URL 更改stockApi=http://localhost/admin,这应该会显示管理界面,表名我们ssrf成功,验证访问admin。

3.阅读 HTML 以识别要删除目标用户的 URL,

即:http://localhost/admin/delete?username=carlos

修改请求头:

Send 返回界面:表明我们已经发起SSRF攻击,删除成功

总结:针对本地服务器的基本 SSRF

就是对服务器发出一个正常的请求,bp抓包截取服务器对我们的回复,对内容进行修改,让服务器执行的正常的请求->异常请求,进而影响其内部系统,如本题,就是将查询库存->删除用户。

针对后端系统的SSRF攻击:
攻击的定义:

hacker利用后端系统中未严格校验用户输入或存在其他漏洞的功能,如文件包含、URL重定向等,通过构造恶意的URL或请求,诱使后端系统向攻击者指定的目标发送请求。

攻击的影响:

请求是由后端系统发起的,因此可以绕过针对客户端的直接防护措施,很难被用户直接察觉,一旦中招,会导致用户敏感信息泄露、未授权访问控制系统资源等后果。

甚至hacker还可以利用SSRF漏洞作为跳板,进一步发起其他类型的攻击,如SQL注入、命令执行等。

攻击的步骤:

1.请求构造:攻击者可以构造一个指向内部数据库的URL或指向恶意服务的URlL并提交给后端系统。

2.执行与利用:后端系统在处理该请求时,会尝试访问该URL指向的资源,从而触发SSRF攻击。

举例:burp靶场-针对后端服务器的基本 SSRF

描述:

1.访问某个商品,点击“检查库存”,在 Burp Suite 中拦截该请求,并将其发送给 Burp Intruder。

2.单击“清除§”,更改参数stockApi,http://192.168.0.1:8080/admin

然后突出显示 IP 地址的最后一个八位字节(数字1),单击“添加§”。

3.切换到Payloads选项卡,将payload类型改为Numbers,

ip地址只可能在1~255之间,所以我们在From和To框中分别输入1、255,至于以及Step停顿时间自己来定,但绝不能是0,因为这会对服务器造成极大的伤害,导致网站挂掉,通常Step停顿时间是1。

注意:最底下把勾去掉

4.点击“开始攻击”。

单击“length”列,可以看到一个状态为 200 的条目,说明http://192.168.0.135:8080/admin是爆破成功的服务器url

5.点击这个请求,发送给Burp Repeater.

并将其中的路径改为stockApi:/admin/delete?username=carlos(识别要删除的目标用户)

点击send。

返回正常数据,说明我们成功进行ssrf攻击

2.SSRF攻击的绕过

url解析绕过:

http://域名.com@10.10.10.10

ip地址进制转换:

举例:192.168.0.1

8进制格式:0300.0250.0.1
16进制格式:0xC0.0xA8.0.1
10进制整数格式:3232235521

指向任意IP的域名xip.io

举例:10.0.0.1.xip.io  resolves to 10.0.0.1

协议限制绕过

当url协议限定只为http(s)时,可以利用follow redirect 特性构造3o2跳转服务结合合dict:// fle:/ gopher://

3.ssrf攻击的防护:

1.黑名单验证:过滤内网地址,过滤部分协议,对返回的内容进行识别,内网服务开启鉴权。

2.严格校验用户输入的URL:对所有用户提交的URL参数进行严格的白名单验证,只允许访问预定义的可信域名或路径。例如,限制请求的协议(HTTP、HTTPS)、主机名和端口号,通常只开放80、443等常用端口。

3.对返回内容进行识别:首先禁用URLOPT FOLLOWLOCATION;然后通过域名获取目标ip,并过滤内部ip;最后识别返回的内容是否与假定内容一致。


总结

ssrf攻击运行在内网或本地的应用程序,利用fle协议读取本地文件,可以对内网,本地进行端口扫描,获取一些服务(banner)的信息,仅仅使用get参数就可以实现对内外网的攻击。

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

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

相关文章

Kafka高吞吐量的原因

文章目录 生产者(写入数据)顺序写入Memory Mapped Files 消费者(读取数据)Kafka是如何巧妙设计的? 总结 众所周知kafka的吞吐量比一般的消息队列要高,号称the fastest,那他是如何做到的,让我们…

Java多线程-(线程的创建,线程安全,线程状态)

第一章.创建线程的方式 1.第一种方式_extends Thread 1.定义一个自定义线程类继承Thread 2.重写run方法(run方法是用于设置线程任务的) 3.创建自定义线程类对象 4.调用Thread类中的start方法(start方法:开启线程,jvm自动执行run方法) public class MyThread extends Thread{…

【SSRF漏洞】——gopherus工具伪造

改变的确很难,但结果值得冒险 本文如有错误之处,还请各位师傅指正 目录 一.gopherus概述 二.gopherus安装使用 三.gopherus覆盖的服务 四.使用案例 web359: web360: 一.gopherus概述 Gopherus是一个专为生成Gopher协议Payloa…

Leetcode 每日一题:Count Complete Tree Nodes

写在前面: 今天带来一道 Leetcde Easy 的题,但别觉得我在水帖,这道题目在 Google 的面试题中甚至可以升级到 Leetcode medium to hard 的级别,而今天我要带来的正是他的高阶要求,怎么样利用 Complete Binary Tree 的特…

经典负载调制平衡放大器(LMBA)设计-从理论到ADS仿真

经典负载调制平衡放大器(LMBA)设计-从理论到ADS仿真 ADS工程下载:经典负载调制平衡放大器(LMBA)设计-从理论到ADS仿真-ADS工程 参考论文: An Efficient Broadband Reconfigurable Power Amplifier Using Active Load…

华为 HCIP 认证费用和报名资格

在当今竞争激烈的信息技术领域,华为 HCIP认证备受关注。它不仅能提升个人的技术实力与职业竞争力,也为企业选拔优秀人才提供了重要依据。以下将详细介绍华为 HCIP 认证的费用和报名资格。 一、HCIP 认证费用 华为HCIP认证的费用主要由考试费和培训费构成…

似然函数与先验概率、后验概率的关系

似然函数、先验概率、后验概率这三个概念是贝叶斯统计中的核心概念,它们共同描述了如何根据已有数据更新我们对某个事件或参数的认识。下面用简单的语言解释这三个概念,并描述它们之间的关系。 1. 先验概率(Prior Probability) …

Debian11.9镜像基于jre1.8的Dockerfile

Debian11.9基于jre1.8的Dockerfile编写 # 使用Debian 11.9作为基础镜像 FROM debian:11.9 # 维护者信息(建议使用LABEL而不是MAINTAINER,因为MAINTAINER已被弃用) LABEL maintainer"caibingsen" # 创建一个目录来存放jre …

vue中v-bind和v-model的区别和应用

1.区别 v-bind: vue2中,v-bind是单向数据绑定,用于动态绑定HTML属性和组件属性,只能将vue实例中的数据同步到HTML元素上,实现数据的动态更新和响应式渲染。v-bind的简写形式使用冒号前缀(:&am…

VSCode好用的插件推荐

1. Chinese 将vscode翻译成简体中文 2. ESLint 自动检查规范 3. Prettier - Code formatter 可以自动调整代码的缩进、换行和空格,确保代码风格统一。通过配置,Prettier可以在保存文件时自动格式化代码 https://juejin.cn/post/74025724757198274…

【时间盒子】-【7.标题菜单栏】自定义任务页面顶部的标题菜单栏组件

Tips: media媒体资源的使用; float.json、color.json资源文件的使用; 组件属性的定义。 预览效果: 一、创建组件文件 右击component目录 >> 新建 >> ArkTS File,文件命名为TitleContainer.ets。 Prev…

JZ2440开发板——S3C2440的时钟体系

参考博客 (1)S3C2440-裸机篇-05 | S3C2440时钟体系详解(FCLK、PCLK、HCLK) 一、三种时钟(FCLK、HCLK、PCLK) 如下图所示,S3C2440的时钟控制逻辑,给整个芯片提供三种时钟&#xff1…

通过防火墙分段增强网络安全

什么是网络分段‌ 随着组织规模的扩大,管理一个不断扩大的网络成为一件棘手的事情,同时确保安全性、合规性、性能和不间断的运行可能是一项艰巨的任务。为了克服这一挑战,网络管理员部署了网络分段,这是一种将网络划分为更小且易…

QT::QComboBox自定义左击事件信号

因为QComboBox没有自定义的clink信号&#xff0c;所以自己新建一个MyComBox类继承QComboBox&#xff0c;并且添加自定义的左击信号&#xff0c;以及使用该信号连接一个槽函数 mycombobox.h #ifndef MYCOMBOBOX_H #define MYCOMBOBOX_H#include <QComboBox> #include &l…

使用程序集解析的方式内嵌dll到exe中

选择一个项目&#xff08;demo3&#xff09;&#xff0c;来进行内嵌。正常dll文件是可以在Bin–Debug里面看到的。 在Program里面添加内容 Program.cs里的全部代码 using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Syste…

【面试八股总结】Redis持久化

Redis 实现了数据持久化的机制&#xff0c;这个机制会把数据存储到磁盘&#xff0c;这样在 Redis 重启就能够从磁盘中恢复原有的数据。 Redis 共有三种数据持久化的⽅式&#xff1a; AOF 日志&#xff1a;每执行一条写操作命令&#xff0c;就把该命令以追加的方式写入到⼀个文…

7.5图像缩放

实验原理 在OpenCV&#xff08;Open Source Computer Vision Library&#xff09;中&#xff0c;resize函数用于调整图像的尺寸。这个函数非常有用&#xff0c;尤其是在进行图像预处理时&#xff0c;比如在图像识别或机器学习任务中需要统一输入图像的大小。 下面是基于C的re…

Qt与Udp

(1)绑定端口 (2)广播 用udp实现广播通信_udp广播-CSDN博客 数据的发送是面向整个子网的&#xff0c;任何一台在子网中的计算机都可以接收到相同的数据。 如果一台机器希望向其他N台机器发送信息&#xff0c;这时候可以使用UDP的广播。 --------------- 广播地址&#xff1…

大数据-133 - ClickHouse 基础概述 全面了解

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

如何编译OpenHarmony SDK API

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 startup子系统之syspara_lite系统属性部件 &#xff08;1&#xff09; startup子系统之syspara_lite系统属性部件 &#xff08;2&#xff09; startup子系…