游客

绕过某某储存防盗链机制

一言准备中...

介绍

同标题 绕过cos或者oss还有其他储存的防盗链
我们首先说说他这个防盗链的机制吧

关于防盗链的机制

Referer

原理就是检查HTTP请求头中的Referer字段,只允许指定域名的请求
白名单模式:只允许列表中的域名访问
黑名单模式:禁止列表中的域名访问

Key

这种URL中一般包含过期时间和签名参数
t:过期时间戳
exper:有效期(秒)
sign:HMAC-SHA1签名
这是个服务器端计算签名得出来的

IP黑白名单

限制特定IP或IP段的访问

User-Agent

检查客户端User-Agent是否合法
首先我先说Referer
这个非常简单 只需要伪造一下他请求头的Referer就可以了
就是说你从一个网站复制一个图片或者视频或者一个下载链接你直接访问是行不通的 这是因为他开了白名单
上面我们也说了 它的原理就是检查他请求头中的字段 是否是白名单中的域名 如果是他就可以正常访问如果不是他就肯定是访问不了的 我们就是通过他这个来伪造请求头
Key这个机制不说 他密钥那些全是在服务器的咱们拿不到
IP白名单
IP黑白名单就更简单了 跟上面那个伪造请求头一样这个也可以伪造 下方代码将会详细写出

代码部分

<?php
$videoUrl = ".......Url........"; //需要绕的链接

// 随机User-Agent列表
$userAgents = [
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
    'Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36'
];

// 随机IP
$fakeIPs = [
    '101.132.'.rand(0,255).'.'.rand(0,255),
    '220.181.'.rand(0,255).'.'.rand(0,255),
    '183.232.'.rand(0,255).'.'.rand(0,255)
];

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => $videoUrl,
    CURLOPT_REFERER => "https://.......Url......../", //白名单域名 一般是首页域名
    CURLOPT_USERAGENT => $userAgents[array_rand($userAgents)],
    CURLOPT_HTTPHEADER => [
        'X-Forwarded-For: '.$fakeIPs[array_rand($fakeIPs)],
        'Accept: video/mp4',
        'Accept-Language: zh-CN,zh;q=0.9'
    ],
    CURLOPT_RETURNTRANSFER => false,
    CURLOPT_HEADER => false,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_MAXREDIRS => 5
]);

header('Content-Type: video/mp4');
curl_exec($ch);
curl_close($ch);
?>
PHP

如果是ip白名单就把上方X-Forwarded-For改成白名单ip就好 如果是ip黑名单 直接拉黑你服务器 那么就不用动代码了随机ip就好了
最后我给你们放一个sign的算法 就是上面key提到的那个(腾讯

sign = base64_encode(hmac_sha1(SecretKey,UriPath + "?" +QueryStringWithoutSign +"&t=" + timestamp +"&exper=" + expiry))
纯文本数据

最后我说一下 绕过防盗链机制违反服务条款,且可能涉及法律风险 代码仅供技术研究使用,请确保在合法授权范围内操作

  • 本文作者:简单
  • 本文链接: https://www.uuuix.com/post-86.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
1
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
81
9
0
2
真理?

06日03日,星期二,在这里每天60秒读懂世界!

上一篇

萌图床系统开源啦~

下一篇
评论区
内容为空

这一切,似未曾拥有

  • 复制图片
按住ctrl可打开默认菜单