首页
学习
活动
专区
圈层
工具
发布

016_Web安全实战指南:服务器端请求伪造(SSRF)漏洞原理、攻击技术与全面防御策略

当应用程序从服务器端发起外部请求,但未对请求目标进行充分验证时,攻击者可以利用这一漏洞诱导服务器向其指定的内部或外部目标发送请求,从而实现内网探测、数据窃取、端口扫描甚至远程代码执行等攻击。...SSRF漏洞通常发生在以下场景: URL参数处理:当应用程序接受用户提供的URL并发起请求时 外部API调用:当应用程序调用外部API,但未验证API端点时 文件处理:当应用程序从远程URL加载文件时...SSRF漏洞原理 3.1 SSRF的基本工作原理 SSRF漏洞的基本工作原理是应用程序接受用户提供的URL或其他请求目标信息,然后在服务器端发起相应的请求,但未对目标进行充分验证和限制。...参数发起请求,没有进行任何验证,攻击者可以提供指向内网服务的URL,实现内网探测或数据窃取。...你认为防御SSRF漏洞最大的挑战是什么?有什么创新的解决方案? 对于遗留系统中的SSRF漏洞,你有什么实用的修复建议? 你如何看待零信任网络架构在防御SSRF漏洞方面的作用?

1K10

谷歌开放的TensorFlow Object Detection API 效果如何?对业界有什么影响?

这次公布的Object Detection API同样是放在了tensorflow/models里。 再来说下这次公布的代码的实现方式。...TensorFlow官方实现这些网络结构的项目是TensorFlow Slim,而这次公布的Object Detection API正是基于Slim的。...这次Google官方公布的Object Detection API别的不说,代码质量肯定是过的去的,因此以后应该不会有人再造TensorFlow下Faster RCNN、R-FCN、SSD的轮子了。...进入到models文件夹,编译Object Detection API的代码: ? 运行notebook demo 在models文件夹下运行: ?...使用其他模型做检测 一共公布了5个模型,上面我们只是用最简单的ssd + mobilenet模型做了检测,如何使用其他模型呢?

1.4K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浏览器端如何获取客户端ip

    以下是具体方法和注意事项1: ​​一、通过第三方 IP 检测服务(最常用)​​ 利用提供 IP 查询功能的第三方 API,这些服务的服务器会记录客户端的出口 IP(即客户端访问互联网时的公网 IP),并返回给前端..., ip); }); ​​二、通过后端服务器中转(可控性更高)​​ 前端向自己的后端服务器发送请求,后端服务器通过前面讨论的 ​​服务端获取 IP 的方法​​(如解析 X-Forwarded-For 头...流程说明​​ 前端发起请求到自己的后端 API(如 /api/get-client-ip)。...后端服务器接收请求,通过服务端逻辑(如 Node.js 的 req.socket.remoteAddress 或解析代理头)获取客户端公网 IP。后端将 IP 封装到响应中返回给前端。 ​​...公网 IP 与内网 IP​​ 浏览器端获取的 IP 通常是客户端的 ​​公网 IP​​(即 NAT 后的出口 IP),若客户端处于局域网(如家庭 Wi-Fi、公司内网),则无法获取内网 IP(如 192.168

    48710

    ssrf漏洞

    前言 SSRF(Server-Side Request Forgery,服务器端请求伪造) 是一种由攻击者构造请求,由服务端发起请求的一个安全漏洞。...一般情况下,SSRF 攻击的目标是从外网无法访问的内部系统,因为服务器请求天然的可以穿越防火墙。漏洞形成的原因大多是因为服务端提供了从其他服务器应用获取数据的功能且没有对目标地址作正确的过滤和限制。...(我的理解,就是基于系统有某种需求可以请求内部网络,从而攻击者用参数进行构造然后传输给后台,从而可以突破放获取进行内网探测 常见web参数 pic= url= message= ip= port= s=...窃取本地和内网敏感数据:访问和下载内网的敏感数据,利用 File 协议访问服务器本地文件。 攻击服务器本地或内网应用:利用发现的漏洞进一步发起攻击利用。...修复方案: 禁止对内网资源访问,取外网资源的API部署在不属于自己的机房 带脚本: http://wooyun.2xss.cc/bug_detail.php?

    64910

    BentoML高危SSRF漏洞CVE-2025-54381分析:原理、影响与核心代码

    典型攻击场景内部网络探测与信息泄露: 攻击者可以扫描服务器所在内网的IP和端口,访问内部的数据库管理界面、版本控制系统或其他未公开的Web服务。...该类展示了框架如何处理来自用户的URL并代表其发起请求。...从请求数据中提取`file_url`字段,并直接向其发起GET请求。 漏洞:此处未对`file_url`进行任何验证(如是否为内网IP、保留地址等)。...中间缺少了对该URL的白名单验证、黑名单过滤(针对内网IP、元数据域名等)或协议限制(如仅允许HTTP/HTTPS)。...第二段代码 (Flask app) 展示了漏洞如何通过Web API暴露出来。用户通过向 /api/predict 端点发送POST请求,即可将恶意URL传入系统处理流程。

    10810

    ZeroNews basic auth policy: 0代码为你的HTTP站点追加安全可控的基本权限验证能力

    ,反之,在验证失败的情况下, 用户内网会被ZeroNews 边缘节点安全隔离,不会受到任何恶意请求的污染及攻击如何集成ZeroNews basic auth 到已有的映射上?...实现, 在CURL, 浏览器访问及常规HTTP请求中都会生效, 上面我们已经演示了浏览器页面访问,但是如规范所说,basic auth 的能力远不止如此, 我们依旧可以在API请求 及 curl等常规HTTP...ApiPost 或者 axios / fetch / http client 等任意Api client 尝试对该站点进行请求当basic auth 信息缺失时, ZeroNews 边缘节点会直接拒绝请求...,不依赖任何外部认证系统,它非常适合一些临时共享项目,保护内部API不被侵扰,或者开发测试阶段的局部认证功能,在生产环境中,如果对安全策略有更高级别的要求,可以考虑使用更先进的认证模式(如OAUTH 2.../ JWT等),同时可以考虑ZeroNews IP Policy 去对访问端IP 进行精准控制以达到跟高级别安全标准的要求

    14710

    【秒杀】前端网络-HTTP

    在常见的前端程序里面,用到最多的技术是HTTP,例如你所浏览的网页,正是浏览器对某个地方发起了HTTP请求所得到的,至于这是个什么请求,可以打开一个网页,试着按下F12,打开网络面板在这里,所有网络请求一览无余...仔细斟酌一下这句话,发起的请求是什么请求?...fetch这里推荐使用fetch,在语法上更符合前端的质感,而且是浏览器原生的API。...其早于 Fetch API,而且是第一个广泛用于实现 AJAX 的 API。如果可以,我们建议你使用 Fetch:它是一个更简单的 API,而且比 XMLHttpRequest 的特性更多。...没有网络,无法连接你我,你对我的文章发送了请求,我会用心写一篇文章并将文章返回给你

    71830

    SNAT 和 DNAT 区别

    工作原理: 内网服务器(私网 IP,如 192.168.1.5)发起请求访问互联网(如 www.google.com)。 数据包到达 NAT 网关。...互联网服务器收到请求,认为是 203.0.113.1 发来的,于是回复给这个公网 IP。 NAT 网关收到回复,根据记录表,将目的 IP 还原为 192.168.1.5,转发给内网服务器。...核心目的: 节省公网 IP:多台内网服务器可以共享一个公网 IP 上网。 隐藏内网结构:外部只能看到 NAT 网关的 IP,不知道内网有多少台机器、IP 是多少,提高安全性。...单向访问控制:允许内网主动连外网,但阻止外网主动连内网(因为没有映射关系,外网发起的包会被丢弃)。 典型场景: 私有子网中的数据库服务器需要下载系统补丁。...工作原理: 互联网用户发起请求,访问 NAT 网关的公网 IP(如 203.0.113.1)的特定端口(如 8080)。 数据包到达 NAT 网关。

    8310

    浅谈云上攻防--SSRF漏洞带来的新威胁

    SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。...SSRF 形成的原因大都是由于服务端提供了对外发起请求的功能且没有对目标地址做过滤与限制。SSRF根据是否回显请求内容分为回显型SSRF和非回显型SSRF。...,获取内网主机的IP存活和端口开放信息,从而去判断内网都开有哪些服务; 3)攻击内网应用程序:根据获取到的内网服务的信息,攻击者就可以有针对性的对内网的web应用,或者其他应用程序进行攻击,如weblogic...api:这类api有时也会有对外发起网络请求或者需要远程下载资源的功能,并且因为此api未公开,所以很有可能会成为安全防护的盲区; 6) 对象存储功能:对象存储功能是云上特有的文件存储系统,在对象存储功能中...而开发人员只在输入的时候,对域名和域名解析后的IP做了校验,而真正调用的时候,未做任何校验,这个时候我们就可以先将域名解析到某个外网IP上,等存储完成之后,真正需要调用的时候再将其解析到内网的目标IP上

    2.4K40

    Node开发实践总结-定时脚本的设计与实现

    开发过程中的踩雷 整体业务逻辑并不复杂,调试和部署的过程中遇到许多问题,这里给大家一一列举下: 访问频率受限 企业微信官方规定同一时间对同一份资源的请求数不可超过一定数值(60),由于部门详情的请求接口采用的并行模式...无效手机号不可调用企业微信api 企业微信对手机号获取userid的接口,具有以下限制:当查询中出现一定数量的无效手机号时,会触发企业微信官方IP封禁。...1、访问频率受限 这里针对“部门成员信息API“的并行请求,改造成基于有效频率值的串行发送机制,设计成10个/每秒的调用速度。...这里使用中间件对node.fetch进行封装,增加对response的返回值的校验,如果企业微信api的返回值是 “WX_CODE.INVALIDE_TOKEN” 则进行预警和重置accessToken...ctx.logFetch) {      const originFetch = ctx.fetch;      const { traceId, ip: client_ip } = ctx.request

    60710

    第66篇:顶级APT后门Sunburst通信流量全过程复盘分析(修正篇)

    C2服务端的攻击者会通过控制C2域名解析到不同的ip地址段,间接控制Sunburst后门的行为,接下来看一个简单的例子,看看攻击者如何控制Sunburst后门,使其永久退出。...首先,Sunburst后门发起了ea99hr2sfen95nkjlc5g.appsync-api.eu-west-1.avsvmcloud.com的dga域名请求,C2服务端的攻击者打算让这个后门永久停止退出...第2步 延迟一分钟之后,Sunburst后门发起第2个请求,通过dga域名的加密部分告诉C2服务端,目标机器有Carbon Black终端安全防护软件存在。...C2服务端将dga域名解析为8.18.145.62,Sunburst后门解析ip地址的最后8字节,得知需要延迟1天之后再次发起dga域名请求。...通过这个案例发现,Sunburst后门在规避流量检测方面下足了功夫,首先它在4天的时间内,仅仅发起了5个dga域名的DNS请求,而且域名appsync-api.eu-west-1.avsvmcloud.com

    97020

    Node开发实践总结-定时脚本的设计与实现

    开发过程中的踩雷 整体业务逻辑并不复杂,调试和部署的过程中遇到许多问题,这里给大家一一列举下: 访问频率受限 企业微信官方规定同一时间对同一份资源的请求数不可超过一定数值(60),由于部门详情的请求接口采用的并行模式...无效手机号不可调用企业微信api 企业微信对手机号获取userid的接口,具有以下限制:当查询中出现一定数量的无效手机号时,会触发企业微信官方IP封禁。...1、访问频率受限 这里针对“部门成员信息API“的并行请求,改造成基于有效频率值的串行发送机制,设计成10个/每秒的调用速度。...这里使用中间件对node.fetch进行封装,增加对response的返回值的校验,如果企业微信api的返回值是 “WX_CODE.INVALIDE_TOKEN” 则进行预警和重置accessToken...ctx.logFetch) { const originFetch = ctx.fetch; const { traceId, ip: client_ip } = ctx.request

    81110

    图解跨域请求、反向代理原理,对前端更友好的反向代理服务器 - Caddy

    在该案例中,我们使用 fetch 发起一个网络请求,请求一个网络资源(见下图) caddy 从上图我们可以看出,我们在使用 fetch 发起了一个网络请求后,将请求的结果打印出来。...同源策略是一个重要的安全策略,它用于限制一个 origin 的文档如何能与另一个源的资源进行交互,在使用 XMLHttpRequest 或 fetch 时则会受到同源策略的约束。...caddy 从上面可以看出,我们的请求源是 127.0.0.1:57721(IP 地址为我们本机的 IP,端口为 浏览器 发起请求时使用的的随机端口 - 浏览器 客户端),目的地址是 127.0.0.1...我们的 Host 请求头为 proxy.dev-api...(代理地址),请求来源(发起方)是 http://localhost:3000(我们的本地服务)。...:57721(IP 地址为我们本机的 IP,端口为 浏览器 发起请求时使用的的随机端口 - 浏览器 客户端)。

    3.9K20

    浅谈云上攻防——CVE-2020-8562漏洞为k8s带来的安全挑战

    CVE-2020-8555漏洞简述 Kubernetes为了缓解CVE-2020-8555等历史漏洞带来的安全问题,对APIServer Proxy请求进行域名解析以校验请求的IP地址是否处于本地链路...Kubernetes的API Server Proxy IP地址限制,并访问内网ControlPlane管控组件。...在攻击者将DNS TTL数值设置为一个极小值时,当受害目标第一次访问恶意域名时并发起域名解析请求时,恶意DNS服务器会返回一个ip地址A;当受害目标第二次发起域名解析请求时,却会得到ip地址B的解析结果...由于攻击者将DNS TTL设置的数值极其小,从程序第一次获取ip到执行file_get_contents方法处时,DNS缓存早已失效,CTF服务器此时需要重新发起域名解析请求以获取www.a.com的ip...由于攻击者将DNS TTL设置的数值极其小,此时DNS缓存已失效,k8s需要重新发起域名解析请求以获取www.attacker.com的ip地址,流程见下图: 图 12 DNS重绑定攻击 从上图可见,

    1.7K50

    了解SSRF漏洞,这一篇就足够了......

    2 内容速览 SSRF(服务器端请求伪造) 0x00 原理简介 SSRF(Server-Side Request Forgery,服务端请求伪造),是攻击者让服务端发起构造的指定请求链接造成的漏洞。...由于存在防火墙的防护,导致攻击者无法直接入侵内网; 这时攻击者可以以服务器为跳板发起一些网络请求,从而攻击内网的应用及获取内网数据。...但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发送请求,并返回对该目标地址请求的数据。...,且对http请求包内的refer字段校验不严,导致攻击者可以利用用户的cookie信息伪造用户请求发送至服务器; SSRF是服务器对用户提供的可控URL过于信任,没有对攻击者提供的URL进行地址限制和足够的检测...URL白名单或者限制内网IP (使用gethostbyname()判断是否为内网IP) 过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。

    6K13

    Python实战:跨平台电商数据聚合系统的技术实现

    电商场景下,多平台数据同步是开发者常面临的挑战。本文将分享如何通过标准化API调用协议,实现淘宝、京东、拼多多等平台商品数据的自动化采集、清洗与存储,并提供可直接落地的技术方案与代码示例。1. ​...技术架构设计​mermaidgraph TD A[API请求层] --> B(分布式代理池) B --> C{多平台协议适配} C -->|淘宝| D[数据签名+反爬策略] C...,需通过动态请求头生成和代理IP轮询实现稳定采集。...== "taobao": params["sign"] = config["sign"](f"{item_id}_{int(time.time())}") # 通过代理池发起请求...池避免IP封锁(推荐使用redis-py管理IP池)HMAC-SHA256签名算法增强请求合法性快速清洗数据可查看置顶文章Mang9:京东商品详情1.0-4.0源数据解析格式(含优惠券) 0 赞同·0

    24010

    第35篇:某区宽带用户路由器DNS被篡改事件分析(DNS重绑定攻击)

    这个事件过去很多年了,攻击者是如何将内网用户的网络设备的DNS改掉的,到现在也没有定论。...当受害者点开一个不明链接地址后,用户就会中招,这个链接地址的网页在用户不知情情况下,绕过浏览器同源限制,以网页中的js代码发起几个http请求,对用户所在内网的设备如TP-Link路由器、物联网设备等发起攻击...直接写一个网页放www.hacker.com域名上,用js写一段代码直接对内网设备发起http请求http://192.168.1.1/login.html?exp=xxx进行攻击呢?...内网的网络设备需要对http请求的host头进行校验,查看是否是合法请求。 3. 对http请求头进行referer校验。 4....内网网络设备可以尽量使用HTTPS而不是HTTP,发生DNS重绑定攻击时,会无效的SSL证书,安全警告将阻止你的请求。 6. 过滤DNS响应中的私有IP范围等可疑IP地址。

    3.7K40

    如何解决大模型API明明一分钟内只发起了一次请求,却触发了 “Your account reached max request” 的错误

    问题背景 在使用 OpenAI SDK 进行 API 调用时,你可能会遇到这样的困惑:明明一分钟内只发起了一次请求,却触发了 “Your account reached max request” 的错误...仔细排查之后发现,并不是 SDK 真正向服务端发送了超限的多次请求,而是由于 SDK 默认的 重试机制(retry logic)所致。...后续的任何请求(即便只有一次)都立即被拒绝并报错 “Your account reached max request” 一、问题复现示例 import openai openai.api_key =...合理设计业务重试与降级 仅对关键请求 做重试,避免对所有请求统一处理 在非关键请求失败时,及时降级返回友好结果或缓存结果 对超时等短暂性故障,可使用 指数退避 + 抖动(jitter) 避免尖峰请求同时重试...升级账户或请求更高配额 当 API 调用量不断上升时,Free 账户的 RPM 通常无法满足需求。

    1.5K10

    SSRF服务器端请求伪造

    SSRF服务器端请求伪造 SSRF服务端请求伪造漏洞,也称为XSPA跨站端口攻击,是一种由攻击者构造一定的利用代码导致服务端发起漏洞利用请求的安全漏洞,一般情况下SSRF攻击的应用是无法通过外网访问的,...描述 SSRF是利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据限制,通常攻击者通过伪造服务器请求与内网进行交互,从而达到探测内网,对内网进行攻击的目的,通常与多种攻击方式相结合。...在一些情况下由于业务需要,服务端程序需要从其他服务器应用中获取数据,例如获取图片、数据等,但是由于服务器没有对其请求的目标地址做过滤和限制,导致黑客可以利用此缺陷请求任意服务器资源,其中就包含隐匿在内网的应用...未公开的api实现以及其他调用URL的功能。 SSRF漏洞的利用 可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息。 攻击运行在内网或本地的应用程序,比如溢出。...在上述示例中发起一个GET请求便可以获取敏感文件的信息。

    1.4K10

    构建稳定爬虫:为番茄小说爬虫添加IP代理与请求头伪装

    这背后,是网站防御系统对我们发起的挑战:频率特征:同一IP在短时间内发起大量请求,行为明显异于正常人类用户。...要解决这些问题,我们的核心策略是:让爬虫尽可能地模拟真实用户的访问行为。这其中的两大基石便是IP代理与请求头伪装。...三、 核心技术二:IP代理 - 打造“千面”爬虫即使请求头伪装得再好,来自单一IP的高频请求依然会暴露。使用IP代理池,让请求来自全球各地的不同机器,是突破IP封锁的根本手段。1....付费代理服务:提供高匿、稳定的HTTP/HTTPS/SOCKS5代理,通常通过API接口获取IP列表,是商业项目的首选。自建代理池:通过扫描公网或云服务器自建,技术门槛和成本较高,但控制力最强。2....# 10分钟更新一次代理池 def fetch_proxies(self): """从代理服务商API获取代理IP列表""" if time.time

    41410
    领券