python实现请求数据包签名

 更新时间:2022年02月10日 09:27:51   作者:阿南-anan   
这篇文章主要介绍了python实现请求数据包签名,主要以python怎么快速对请求体做一次签名为主题,塑造实现请求数据包签名过程,具有一定得参考价值,需要的小伙伴可以参考一下

前言:

渗透测试遇到对请求体进行签名的情况,如果这是一个app的话,也能理解,但如果是一个web系统,对这种敏感数据做加密,并且对请求体做了签名,就会非常无语。还好在js中能找到了加密方法(签名规则),可以通过python进行实现,以下为示例,主要记录以下python怎么快速对请求体做一次签名。

实操:

请求体中有一个参数的值是变化的,一个是当前时间戳(毫秒级),另一个是sign,而sign=md5(key+时间戳)。其中key为固定值,时间戳直接通过函数获取即可,md5的话也可以通过hashlib库进行实现。

# -*- coding:utf-8 -*-
import time
import json
import hashlib

# 该函数实现对指定字符串取hash
def md5sum(str):
    m = hashlib.md5()
    m.update(str.encode("utf-8"))
    return m.hexdigest()

def get_sign():
    #key,固定值
    key = "jfdijfidnaindiji"
    # 当前时间的毫秒级的时间戳
    requestime = int(round(time.time() * 1000))
    # 先获取签名的原始值
    sign0 = key+str(requestime)
    # 下方为请求的参数(json格式),其中requestTime为毫秒级时间戳,sign为key+时间戳的md5值
    str1 = {
        "head": {"requestTime": requestime, "code": "20211219135521700912", "v": "10"},
        "body": {"user":"EsRNkDvgoCryuQWIxpoY2w==","type":"1"}, "sign": sign0}

    # 去除json字符串中:与值之间的空格
    str2 = json.dumps(str1, separators=(",", ":"))
    # 获取hash
    sign = md5sum(str2)
    # 将签名的hash值添加到请求参数中
    data = dict(str1)
    data['sign'] = sign

    return json.dumps(data)
print(get_sign())

执行结果:

到此这篇关于python实现请求数据包签名的文章就介绍到这了,更多相关python请求数据包签名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入理解Python虚拟机中浮点数(float)的实现原理及源码

    深入理解Python虚拟机中浮点数(float)的实现原理及源码

    在本篇文章当中主要分析在 cpython 虚拟机当中 float 类型的实现原理以及与他相关的一些源代码,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-03-03
  • Python之数据序列化(json、pickle、shelve)详解

    Python之数据序列化(json、pickle、shelve)详解

    这篇文章主要介绍了Python之数据序列化(json、pickle、shelve)详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python多进程日志以及分布式日志的实现方式

    python多进程日志以及分布式日志的实现方式

    这篇文章主要介绍了python多进程日志以及分布式日志的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Matplotlib实战之玫瑰图绘制详解

    Matplotlib实战之玫瑰图绘制详解

    南丁格尔玫瑰图是一种用极坐标下的柱状图或堆叠柱状图来展示数据的图表,下面我们就来介绍一下如何使用Matplotlib绘制南丁格尔玫瑰图,需要的可以参考下
    2023-08-08
  • python实现用户名密码校验

    python实现用户名密码校验

    这篇文章主要为大家详细介绍了python实现用户名密码校验,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • PyQt5实现无边框窗口的标题拖动和窗口缩放

    PyQt5实现无边框窗口的标题拖动和窗口缩放

    这篇文章主要为大家详细介绍了PyQt5实现无边框窗口的标题拖动和窗口缩放,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 使用Python的OpenCV模块识别滑动验证码的缺口(推荐)

    使用Python的OpenCV模块识别滑动验证码的缺口(推荐)

    这篇文章主要介绍了使用Python的OpenCV模块识别滑动验证码的缺口,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • python使用itchat库实现微信机器人(好友聊天、群聊天)

    python使用itchat库实现微信机器人(好友聊天、群聊天)

    itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作。本文主要使用该库完成一个能够处理微信消息的的图灵机器人,包括好友聊天、群聊天,感兴趣的朋友跟随小编一起学习吧
    2018-01-01
  • Python中关于set的基本用法

    Python中关于set的基本用法

    这篇文章主要介绍了Python中关于set的基本用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • openCV中值滤波和均值滤波的代码实现

    openCV中值滤波和均值滤波的代码实现

    在我们生活中的有很多时候都可以用到滤波,例如美颜的磨皮功能,本文就详细的介绍了openCV中值滤波和均值滤波的代码实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论