freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

云函数实现代理池绕过IP封锁
X1ly_S 2024-12-07 16:40:20 34628
所属地 四川省

云函数简介

云函数(Serverless Functions)是一种事件驱动的计算服务,允许开发者编写和部署代码,而无需管理底层服务器资源。通过云函数,开发者可以专注于业务逻辑的实现,不必关心基础设施的运维和扩展问题。它属于 无服务器架构的一种形式,通常与云平台(如 AWS Lambda、阿里云函数计算等)紧密集成。

云函数的特点

  1. 无服务器管理:用户不需要管理或维护服务器。云平台自动处理函数的执行环境、资源分配、负载均衡和自动扩展。

  2. 按需计费:云函数的计费方式通常是基于实际执行的计算资源和时间,按调用次数和执行时长收费。这种按需计费模式帮助用户避免不必要的资源浪费,特别适合处理间歇性或低延迟的请求。

  3. 事件驱动:云函数通常会被某些事件触发,如 HTTP 请求、文件上传、数据库变更、消息队列等。开发者可以根据这些事件来编写代码逻辑。

  4. 自动扩展:云函数能够根据请求的数量自动扩展或缩减资源,以应对不同的负载需求。它能够在请求量增加时快速扩展,负载减轻时自动缩减。

  5. 快速部署和迭代:开发者可以快速将函数代码上传到云平台,立即生效。对于频繁变化的业务需求,云函数也提供了更灵活的迭代方式。

云函数的应用场景

  • API 后端:构建和运行轻量级的 RESTful API 或 Web 服务。

  • 文件处理:文件上传、图像处理、视频转码等。

  • 数据处理:处理来自流媒体、日志、消息队列等来源的数据。

  • 自动化任务:定时任务、邮件通知、数据同步等自动化操作。

  • 物联网 (IoT):处理设备上传的数据或控制指令。

  • 事件驱动计算:响应用户行为、监控事件、系统通知等。

部署服务端

  • 选择腾讯云来演示:https://console.cloud.tencent.com/scf/index

  1. 新建函数

选择从头开始,事件函数,运行环境是 python3.6 其他的随便填

image-20241205173903078

  1. 配置函数代码

函数代码选择在线编辑,写入服务端代码

# -*- coding: utf8 -*-


import json
import pickle
from base64 import b64decode, b64encode

import requests

SCF_TOKEN = "TOKEN" #需要自定义随机值,用于鉴权

def authorization():
    return {
        "isBase64Encoded": False,
        "statusCode": 401,
        "headers": {},
        "body": "Please provide correct SCF-Token",
    }

def main_handler(event: dict, context: dict):
    try:
        token = event["headers"]["scf-token"]
    except KeyError:
        return authorization()

    if token != SCF_TOKEN:
        return authorization()

    data = event["body"]
    kwargs = json.loads(data)
    kwargs['data'] = b64decode(kwargs['data'])
    r = requests.request(**kwargs, verify=False, allow_redirects=False)

    serialized_resp = pickle.dumps(r)

    return {
        "isBase64Encoded": False,
        "statusCode": 200,
        "headers": {},
        "body": b64encode(serialized_resp).decode("utf-8"),
    }

image-20241205180048224

可试读前30%内容
¥ 19.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# 渗透测试 # Serverless # 代理技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 X1ly_S 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
X1ly_S LV.3
需要的不是掌声,而是没有哭声
  • 12 文章数
  • 39 关注者
从任意文件读取到上线CS——绕过模块禁用
2025-01-17
2024-长亭校招-安服经验浅谈
2024-12-25
万字长文窥探信息收集真正的艺术
2024-12-20
文章目录