SSRF-服务端请求伪造

2023-11-12

SSRF-服务端请求伪造

在这里插入图片描述

1.SSRF是什么?

SSRF(Server-side Request Forge, 服务端请求伪造)。由攻击者构造的攻击链接传给服务端执行造成的漏洞,一般用来在外网探测或攻击内网服务。

2.SSRF可以做什么?

  1. 扫内网。
  2. 向内部任意主机的任意端口发送精心构造的Payload 。
  3. DOS攻击(请求大文件,始终保持连接Keep-Alive Always)。
  4. 攻击内网的web应用,主要是使用GET参数就可以实现的攻击(比如struts2,sqli等)。
  5. 利用file协议读取本地文件等。
  6. 加载外部的恶意木马文件执行。
  7. 加载内部的敏感文件程序自身的敏感文件。
  8. 来访问内网进行内网端口的扫描、获取内网设备信息、枚举内网服务等。

3.攻击原理。

由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤和限制.例如,黑客操作服务端从指定URL地址获取网页文本内容,加载指定地址的图片等,利用的是服务端的请求伪造,SSRF利用存在缺陷的WEB应用作为代理攻击远程和本地的服务器。
在这里插入图片描述

4.防御SSRF攻击。

  1. 过滤返回信息,验证远程服务器队请求的响应是比较容易的方法,如果web应用是去获取某一种类型的文件。那么再把返回的结果展示给用户之前先验证返回的信息是否符合标准。
  2. 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
  3. 闲置请求的端口为http常用的端口,比如:80、443、8080、8090。
  4. 黑名单内网IP,避免应用被用来获取内网数据,攻击内网。
  5. 禁用不需要的协议,仅允许http和https的请求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSRF-服务端请求伪造 的相关文章

  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 如何查找连接到 AF_INET 套接字的客户端的 UID?

    有什么方法或类似的东西ucred for AF UNIX如果是AF INET插座 TCP在我的例子中 找出连接到我的套接字的客户端的UID 还有 proc net tcp但它显示了UID of the creator插座的而不是连接的cli
  • 如何使用 sed 仅删除双空行?

    我找到了这个问题和答案 https stackoverflow com questions 4651591 howto use sed to remove only triple empty lines关于如何删除三重空行 但是 我只需要对
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while

随机推荐

  • 【C语言】C语言的495个问题

    文章目录 1 声明和初始化 基本类型 1 1 各类型区别 1 2 为什么不精确定义标准类型的大小 1 3 因为C没有精确定义标准类型大小 那么用typedef定义int16和int32是否能解决问题呢 1 4 新64位机上64位类型是什么样
  • android下m、mm、mmm编译命令的使用

    通过查看android源码目录下的build envsetup sh文件 可知 m Makes from the top of the tree mm Builds all of the modules in the current dir
  • C#编程基础(万字详解,这一篇就够了)

    C 及其开发环境简介 C 概述 C 的编程功能 C 与 Net的关系 Net C C 的集成开发环境 Windows上编写C 程序 Linux Mac OS上编写C 程序 运行第一个HelloWorld程序 C 基本语法 程序实例 C 基本
  • java mail 添加附件以及邮件中穿插图片方法

    部分代码 创建邮件中的附件 param filepath 附件的路径 return 生成附件的对象 throws Exception 测试 filepath e 测试 tomcat png e盘下的tomcat图片 public stati
  • 基本的垃圾回收算法总结

    Java虚拟机中的垃圾回收机制的是虚拟机的灵魂所在 下面介绍下虚拟机中的主要回收算法 引用计数法 实现 对于实例化的一个对象O 只要有任何一个其他的对象引用O O的引用计数器就加一 当引用失效的情况下 引用计数器减一 优点 实现简单 缺点
  • 全国各大城市的经纬度表,留着以后做查询库用

    安徽省合肥的经纬度北纬31 52东经117 17 安徽省安庆的经纬度北纬30 31东经117 02 安徽省蚌埠的经纬度北纬32 56东经117 21 安徽省亳州的经纬度北纬33 52东经115 47 安徽省巢湖的经纬度北纬31 36东经11
  • css 卡片翻转效果实现

    直接贴代码
  • Vue 引入高德地图 vue-amap

    一 在高德开发平台 获取Key 已有可跳过 高德开发者平台 链接地址 1 控制台 我的应用 创建应用 添加key 创建应用 新建应用 选择web端 JS平台 last 到这里的 key 就有了 还得到了一个安全密钥 二 引入vue amap
  • 5G应用标志着移动互联网新时代真正到来

    5G网络普及后很可能实现已经多次被我们所畅想的万物互联 通过网络把家用电视 冰箱 洗衣机 空调等连接起来 再通过一个软件来进行控制 5G超高的网速 超低的延迟将会使无人驾驶 无人机作业 远程医疗技术等步入成熟阶段 因此 5G的应用标志着移动
  • TypeScript 在 vue 中的使用

    本文主要介绍 TypeScript 在 vue 中的使用 还有一些j注释起来的 js 代码做对照 参考链接 合成 API 的 TypeScript vue3中配合使用TS 还需要额外安装一个vscode插件 Typescript Vue P
  • 基于snooplog分析蓝牙连接过程,进一步学习蓝牙协议栈

    一 什么是BT snoop log 首先问题 1 为什么远端发来的消息没有收到 2 为什么搜索不到设备 3 为什么连不上 4 总之 研发过程中会遇到很多奇奇怪怪的问题 我们无法通过现象去分析原因 也不可能再过一遍代码吧 这时候需要再某些代码
  • 期货交易,一些你不得不知道的技巧

    众所周知 期货市场变化莫测 既有风险 又兼具了高回报 因此也被誉为 21世纪冒险者的游戏 虽然期货投资受市场 政治形势 经济发展等因素的影响 但作为一个成熟的交易模式 期货依然有着很大的魅力 既可以做长线 也可以短线为王 但无论采用何种交易
  • 如何建设水利数字孪生流域

    数字孪生流域是以物理流域为单元 时空数据为底座 数学模型为核心 水利知识为驱动 对物理流域全要素和水利治理管理活动全过程的数字化映射 智能化模拟 实现与物理流域同步仿真运行 虚实交互 迭代优化 建设水利数字孪生流域 重点包括以下几件事 获取
  • nginx日志access.log error.log按天生成存储,定时删除日志

    bin bash function cut nginx log files for lnmp v0 5 and v0 6 author http lnmp org set the path to nginx log files log fi
  • Qt多线程基础(一)线程同步之互斥锁同步

    一 直接使用QMutex进行同步 创建线程方法 继承自QThread 重写void run 函数 调用成员start 启动线程 start 中可加入优先级参数 互斥锁同步方法 void run 函数中使用QMutex来实现同步 当多个线程访
  • 【JS随笔】监听DOM内容改变

    目录 前言 一 addEventListener 1 示例 二 MutationObserver 1 示例1 2 示例2 总结 参考资料 前言 今天项目遇到一个需要监听DOM变化 根据DOM的变化情况 来展示不同的内容 于是上网搜索了各种方
  • HTML语法学习以及作业解答

    文章目录 技巧 html标签练习 作业01 作业02 作业03 作业04 作业05 作业06 作业07 作业08 作业09 作业10 技巧 1 输入 html5即可补全出html的骨架 或者是 tab键 2 MDN网站 https deve
  • git pull时报合并冲突的bug

    想在本地拉下最新的代码 不知为啥 出现合并冲突的bug warning Cannot merge binary files by tar HEAD vs 050fecfd1537b03953d219429f3 Auto merging by
  • 【解决】linux虚拟机开放端口号,虚拟机centos7开放端口

    原文链接 1 先查看防火墙是否开启的状态 以及开放端口的情况 systemctl status firewalld service 查看防火墙开启还是关闭 sudo firewall cmd list all 可以查看端口开放情况 fire
  • SSRF-服务端请求伪造

    SSRF 服务端请求伪造 1 SSRF是什么 SSRF Server side Request Forge 服务端请求伪造 由攻击者构造的攻击链接传给服务端执行造成的漏洞 一般用来在外网探测或攻击内网服务 2 SSRF可以做什么 扫内网 向