云函数的代理IP利用面

技术分享

0x01 前言

什么是云函数?

云函数(Serverless Cloud Function,SCF)是云计算厂商为企业和开发者们提供的无服务器执行环境,可在无需购买和管理服务器的情况下运行代码, 是实时文件处理和数据处理等场景下理想的计算平台。只需使用 SCF 平台支持的语言编写核心代码并设置代码运行的条件,即可在某云基础设施上弹性、安全地运行代码。

为什么通过云函数代理IP?

这是因为云函数会自动的在同一个地域内的多个可用区部署,在请求目标时,会自动调用不同的可用区的IP地址。这样一来,每次请求IP会发生改变,也就达到了我们想要建立一个代理池的目的。

0x02 构建云函数代理池

本地环境

系统:macOS Big Sur

Python版本:3.7.7

代理客户端:mitmproxy

云函数厂商:腾讯云

配置云函数

新建云函数

image-20210801212402251

选择自定义部署,运行环境为 Python ,通过在线编辑,将 SCFProxy 工具中的 server.py 文件代码替换进去,然后点击完成会自动部署

创建触发器

image-20210801210157501

按照图示,依次选择创建API网关触发器

image-20210801210339654

将访问路径记下

修改代理客户端配置

image-20210801212907369

打开 SCFProxy 工具目录下的 HTTP,编辑 client.py 文件,将API网关触发器中的访问路径地址加入到 scf_servers

0x03 本地代理

本文章使用的代理客户端为 mitmproxy ,由于使用的是Python脚本处理代理请求,还需要使用pip安装 mitmproxy 模块(建议在官网下载对应的whl文件进行安装),这里需要注意安装对应版本的 mitmproxy 否则可能会出现一些问题。本文使用代理客户端的版本是 7.0.0,Python模块版本是:7.0.0。

image-20210801213219173

为了方便,我将 client.py 文件复制到了 mitmproxy 工具目录中

image-20210802141721608

然后执行 ./mitmdump -s client.py -p 8081 --no-http2 即可在本地端口8081上开启代理

image-20210802141909695

通过浏览器代理工具进行代理,代理协议为 HTTP 代理服务器为 127.0.0.1 代理端口为 8081

image-20210802142023691

浏览器代理后,可以看到IP地址也变了,每次请求IP地址都会变化

image-20210802142226363

可以看到访问网页的请求都会经过云函数请求返回到本地

0x04 参考资料

链接

【干货】利用云函数实现免费IP代理

利用云函数(SCF)打造海量代理池

工具

mitmproxy

SCFProxy

Author: wileysec

Permalink: https://wileysec.github.io/618dcd2c2088.html

Comments