腾讯云云函数初探

作者: print("") 分类: python,信息安全 发布时间: 2021-04-09 10:31

云函数地址

https://console.cloud.tencent.com/scf

云函数开发文档

https://cloud.tencent.com/document/product/583/19806

一、新建云函数

选择自定义模板

然后点击完成。会自动部署完成

二、创建触发器

触发器这里选择API网关的方式

提交之后进行测试

三、代码完善

参考:

# -*- coding: utf8 -*-

import requests
import socket
import base64
import json

def main_handler(event, context):
    headers=event['headers']
    password = "ttttttttt"
    if 'body' in event and headers['password'] == password:
        return return_data(event['body'])

def return_data(data):
    response={
        "isBase64Encoded": False,
        "statusCode": 200,
        "headers": {'Content-Type': 'text/html;charset=utf-8'},
        "body": data
    }
    return response

解释一下官方文档中

Python 环境下的入参包括 event 和 context,两者均为 Python dict 类型。

event:使用此参数传递触发事件数据。
context:使用此参数向您的处理程序传递运行时信息。

如果你不清楚event 里面到底是什么内容。那么可以使用json.dumps 打印出来。返回的是

返回如下:

那么到这里的话。应该理解了他那两个变量的一个具体的东西了

,下一步根据传递的参数来请求一个url

代码如下:

# -*- coding: utf8 -*-

import requests
import socket
import base64
import json

def main_handler(event, context):
    headers=event['headers']
    password = "ttttttttt"
    rtext = '' 
    if 'body' in event and headers['password'] == password:
        body2 = json.loads(event['body'])
        if body2['args']=='get':
            data=requests.get(url=body2['url'])
            return return_data(data.text)
        elif body2['args']=='post':
            data=requests.post(url=body2['url'],data=body2['post_data'])
            return return_data(data.text)

def return_data(data):
    response={
        "isBase64Encoded": False,
        "statusCode": 200,
        "headers": {'Content-Type': 'text/html;charset=utf-8'},#+ str(resp.apparent_encoding)},
        "body": data
    }
    return response

然后burp 去请求当前url

再请求一次

它每次请求都是一个新的IP去请求的。

其实云函数可以做很多事情。这个可以自行思考了。可以做成一个小型的扫描器

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注