V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NanoApe
V2EX  ›  宽带症候群

如何绕过黑名单刷爆七牛云?只需一点 XFF 魔法!

  NanoApe · 112 天前 · 3822 次点击
这是一个创建于 112 天前的主题,其中的信息可能已经有所发展或是发生改变。

他只需略微出手,就能让你 CDN 里的一个小文件一天之内被「五湖四海」访问破万次。

再给他一个神仙管理端,他能让你的 CDN 配置下发延迟近一倍,享受字(liu)节(liang)跳动的快感。

不是代理 IP 买不起,而是伪造 Header 更有性价比。

对此,五星上将麦克阿瑟曾这样评价:「早知道七牛云有这样的科技,我何必去各个注册局购买稀缺 IP 。」

大型纪录片《七牛云传奇》持续为您播出。

事情的起因经过可以看这里: https://blog.hanlin.press/2024/07/From-Shanxi-to-Qiniu/

整件事情最乐的一个地方就是,七牛云拿 X-Forwarded-For 里的信息作为实际的客户端 IP ,然后把 0.111.196.55 和 254.20.230.168 这种离谱到不能再离谱的 IP 归类为「海外」然后哐哐扣钱,属实绷不住。

这是否可以理解为七牛云的黑白名单就是个一戳就破的废物?随便伪造 XFF 就绕过去了 🤣🤣🤣

21 条回复    2024-09-02 15:32:29 +08:00
gam2046
    1
gam2046  
   112 天前
其实微软也有这样的逻辑,因此才有的“无需代理”,直连 xbox cloud game
lonelykid
    2
lonelykid  
   112 天前
离谱,按理说应该客户端发来的任何信息都默认不可信的,更何况直接拿 X-Forwarded-For 作为 IP 限流统计依据。
莫非是七牛云负载均衡的反代转发的时候直接把源 IP 直接丢了,直接转发原始的 X-Forwarded-For ?
cue
    3
cue  
   112 天前 via iPhone
七牛真的很烂
Nyarime
    4
Nyarime  
   112 天前 via Android
确实。。。难绷啊
povsister
    5
povsister  
   112 天前 via iPhone
再一次验证草台班子理论,作为一个 cdn 提供商不配置 trust proxy 实在难绷
JF65851a20L5hj7v
    6
JF65851a20L5hj7v  
   112 天前 via iPhone
属实难绷,这已经不是一般的草台班子了
yKXSkKoR8I1RcxaS
    7
yKXSkKoR8I1RcxaS  
   112 天前
它防了怎么赚钱捏?各大国产厂商都不会把这方面的防御做好,因为要赚黑心钱。
mknightoy
    8
mknightoy  
   112 天前
七牛这钱赚的真轻松:)
elron
    9
elron  
   112 天前
赚黑心钱
cslive
    10
cslive  
   112 天前
属实难绷,其它 cdn 是不是也是这样
macy
    11
macy  
   112 天前
几年前用过他家,很坑,当时有免费的 http 流量,https 花钱,记得 https 有个开关,他们是只要你开了这个开关,无论你访问的是 https 还是 http 的链接,都按照 https 收费,我打客服电话,客服说他们技术说了,这个流量无法区分,真是理解不了😂
NEPv5NA6R8R3Y11u
    12
NEPv5NA6R8R3Y11u  
   112 天前
@cslive 对的,https://v2ex.com/t/1045318 , 这个帖子 2 个月前分析了阿里云 cdn 也是 xff 获取 IP ,但阿里好一些可以获取真实 IP ,然后封禁
NanoApe
    13
NanoApe  
OP
   112 天前
@Oohuo 阿里云都这样,那也太缺心眼了,明摆着 XFF 就不应该可信还加到 log 里面……
oneisall8955
    14
oneisall8955  
   112 天前
https://blog.hanlin.press/2024/07/From-Shanxi-to-Qiniu/

这里又说可以防了
yuzo555
    15
yuzo555  
   112 天前
@cslive
阿里云和七牛是这样,阿里云好像提工单才可以改为远程地址而不是 XFF
能改说明他也知道这个问题,感觉有点故意的
irainsoft
    16
irainsoft  
   111 天前
PCDN 闹的事情真是越来越频繁了
yuezhiyuan
    17
yuezhiyuan  
   111 天前
就技术讨论,cdn 厂商又怎么能拿到用户的真实 ip 呢? X-Forwarded-For 可以说是协议标准了,所有人尊循着这么做。取 X-Forwarded-For 中第一个 ip ,因为后续的都是代理 ip 。虽然第一个有风险是伪造的。
只能说 cdn 确实能拿到与他建立连接的 ip ,这个 ip 可能是用户的。然后标记为真实的用户 ip 。只不过也有可能是另外个 cdn 厂商的,比如七牛套了阿里云 cdn ,那拿到建立连接的 ip 就是阿里云的并不是用户的。
如何解?理性讨论
yuezhiyuan
    18
yuezhiyuan  
   111 天前
@povsister 不是一回事吧? trust proxy 在 cdn 后面的程序配置的,常见是 nginx 。目的是取真实的用户 ip
但 nginx 获取真实用户 ip ,没有意义了。cdn 流量费用已经产生了。
想要的是 cdn 层面就拦截掉,不产生计费
nicoljiang
    19
nicoljiang  
   111 天前
@yuezhiyuan 有没有可能是“比如七牛套了阿里云 cdn”的话,就应该去阿里云 CDN 设置 IP 黑白名单,而不是非得在七牛云 CDN 设置?
flyqie
    20
flyqie  
   110 天前 via Android
@yuezhiyuan #37

问题在于,套了阿里 cdn 为什么不在阿里 cdn 一级做,反而要在七牛云这个二级来做?

你自己想想,你生产上会在这种场景下这么干吗?

X-Forwarded-For 那就更属于无稽之谈了,X-Forwarded-For 据我所知用到的场景都是能够完全保证 X-Forwarded-For 是由可信的前置网关导进来的,用户不可能伪造。

你的观点真的有些让人摸不到头脑。
EastHorse
    21
EastHorse  
   73 天前
想想你为什么用七牛 CDN ,而不是直接买阿里或者腾讯
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3670 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 05:03 · PVG 13:03 · LAX 21:03 · JFK 00:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.