通过编写python函数来一步步打造属于自己得渗透模块[提升工作效率]

本文作者:mzfuzz(Ms08067安全实验室成员)

前言:

python的特性这里不过多细说,简单来说可以让我们很快完成任务。

日常工作中,难免我们会重复工作,这里就需要我们去写好一些相关的模块,然后等需要用的时候,直接调用自己写的包即可,这样可以节省自己大量的时间用来研究漏洞或者刷朋友圈!

下面我大概举3个模块来说明

网页下载函数:

"""
htmldown 此函数功能是 输入url连接,然后保存到本地进行备份。多用在有翻页的后台进行后台备份,输入翻页url,参数等进行批量down备份
url: 访问url
filename: 保存网页信息的本地目录
head: 请求header
"""




def htmldown(url,filename,head):
    for i in range(0,4):
        try:
            res=requests.get(url,header=head,timeout=5)
            with open(filename,'a+') as f:
                f.write(res.text)
            print(f"{url} successful!!!")
            return
        except Exception as e:
            print(e)
            pass

通常我们渗透下站点,需要下载解析一些站点信息,大部分信息都是存在页数得,这里就可以通过此函数来进行下载,填写url,header头,下载文件保存位置即可如果遇到post请求,可以使用下面函数即可!

"""
htmldown_post 此函数功能是 输入url连接,然后保存到本地进行备份。多用在有翻页的后台进行后台备份,输入翻页url,参数等进行批量down备份
[请求方式为post请求]
参数:
url: 访问url
filename: 保存网页信息的本地目录
head: 请求header
data1: post请求的参数
"""
def htmldown_post(url,filename,head,data1):
    for i in range(0,4):
        try:




            res=requests.post(url,header=head,data=data1,timeout=5)
            with open(filename,'a+') as f:
                f.write(res.text)
            print(f"{url}+'\t'+{data1} successful!!!")
            return
        except Exception as e:
            print(e)
            pass

header头解析:

上文中得header是必不可缺得,因为场景往往是访问后台,需要cookie认证.

为了更方便快捷,直接复制burp抓得包赋值给变量,然后解析成字典格式即可相关代码见下:

# head="""
# GET /userInfo/getUserBasicInfo HTTP/1.1
# Host: admin.ceshi123.com
# Connection: close
# Accept: */*
# User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36
# X-Requested-With: XMLHttpRequest
# Accept-Encoding: gzip, deflate
# Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
# Cookie: phpsession=3478173981273981ceshi
# """


def ls_header(str_headers: str) -> dict:
    if not str_headers:
        return {}
    items = str_headers.splitlines()
    headers = {}
    for item in items:
        item_str = item.strip()
        if not item_str:
            continue
        if item_str.startswith(':'):
            continue
        i = item_str.find(':')
        headers[item_str[:i]] = item_str[i + 1:].strip()
    return headers

xlsx文件生成和读取:

execl文件处理是我们常见得,我们再处理文件得时候,不管需要解析,还是要过滤,都需要读取,我们对网站后台解析后得数据也需要execl进行输出。

这里我们就可以写个函数,用来读取xlsx文件,返回数组列表。也可以将数组列表生成xlsx文件代码见下:

"""
read_xlsx()读取xlsx文件 结果返回列表
"""


def read_xlsx(f):
    try:
        file1=f
        xls_list=[]
        table = load_workbook(f)
        sheetname=table.sheetnames
        for shee in sheetname:
            data=table[shee]


            rows=data.rows
            for i in rows:
                a=[]
                for x in i:
                    # print(x.value)
                    a.append(str.lower(str(x.value)))
                xls_list.append(a)




        return xls_list
    except Exception as e:
        print(e)
        pass


"""
write_xlsx 此函数用来生成xlsx文件
传入参数必须是列表,多个函数组合调用来生成excel文件
"""


def write_xlsx(datas,fi):
    try:
        wb=Workbook()
        ws=wb.active


        for i in datas:
            ws.append(i)
        wb.save(fi)
        print(f"save file as {fi}!!! ")
    except Exception as e:
        print(e)

结尾#

相关代码github:

https://github.com/shinyxiaoxia/mzfuzz

这种每个人得使用都不一样,所以可以参考下这种方法,一点点去模块化自己频繁的操作。

之后需要什么操作,只需要import mzfuzz即可。

扫描下方二维码加入星球学习

加入后会邀请你进入内部微信群,内部微信群永久有效!

目前30000+人已关注加入我们

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值