iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python实现请求数据包签名
  • 529
分享到

python实现请求数据包签名

2024-04-02 19:04:59 529人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

前言: 渗透测试遇到对请求体进行签名的情况,如果这是一个app的话,也能理解,但如果是一个WEB系统,对这种敏感数据做加密,并且对请求体做了签名,就会非常无语。还好在js中能找到了加

前言:

渗透测试遇到对请求体进行签名的情况,如果这是一个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请求数据包签名内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python实现请求数据包签名

本文链接: https://www.lsjlt.com/news/138642.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python实现请求数据包签名
    前言: 渗透测试遇到对请求体进行签名的情况,如果这是一个app的话,也能理解,但如果是一个web系统,对这种敏感数据做加密,并且对请求体做了签名,就会非常无语。还好在js中能找到了加...
    99+
    2022-11-13
  • vue如何实现对请求参数进行签名
    目录前端实现请求签名1、思路2、Vue实现添加请求签名3、axios请求拦截器实现4、生成签名工具类请求参数按照ASCII码从小到大排序后追加秘钥再进行加密得到签名值代码实现总结前端...
    99+
    2023-01-28
    vue请求参数 vue签名 请求参数签名
  • python 包 requests 实现请求操作
    目录一、安装二、请求类型三、带参数请求四、自定义headers五、请求属性六、文件上传七、会话维持八、证书验证九、代理设置十、超时设置十一、认证设置十二、异常处理一、安装 pip i...
    99+
    2022-11-13
  • python 包实现 urllib 网络请求操作
    目录一、简介二、发起请求三、携带参数请求四、获取响应数据五、设置headers六、使用代理七、认证登录八、设置cookie九、异常处理十、HTTP异常十一、超时异常十二、解析编码十三...
    99+
    2022-11-10
  • 怎么用python实现数据签名验证
    这篇文章主要讲解了“怎么用python实现数据签名验证”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用python实现数据签名验证”吧!# 请求数据处理方法def b...
    99+
    2023-06-02
  • python包中的urllib网络请求怎么实现
    这篇文章主要讲解了“python包中的urllib网络请求怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python包中的urllib网络请求怎么实现”吧!一、简介是一个 pytho...
    99+
    2023-06-30
  • Python中如何实现Flask请求数据获取响应
    这篇文章给大家分享的是有关Python中如何实现Flask请求数据获取响应的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一,请求数据及其获取      ...
    99+
    2023-06-25
  • react异步请求数据怎么实现
    在React中实现异步请求数据有多种方式,以下是其中几种常用的方法:1. 使用`fetch` API:`fetch`是现代浏览器提供...
    99+
    2023-09-13
    react
  • react后端请求数据怎么实现
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react后端请求数据怎么实现?react-ajax请求后台数据方法react-ajaxaxios方法一:在package.json中配置 "p...
    99+
    2023-05-14
    React
  • react后端请求数据如何实现
    本篇内容主要讲解“react后端请求数据如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react后端请求数据如何实现”吧!react后端请求数据的实现方法:1、在package.json...
    99+
    2023-07-04
  • Python如何实现elgamal数字签名算法
    要实现ElGamal数字签名算法,可以按照以下步骤:1. 生成密钥对:- 选择一个大素数p作为模数。- 选择一个生成元g,确保g是p...
    99+
    2023-10-10
    Python
  • C#利用Spire.Pdf包实现为PDF添加数字签名
    目录背景简介依赖源码背景 对PDF文档进行数字签名的需求对PDF文档添加水印的需求网上资料版本不一或不全 本文章提到的Spire.Pdf均是使用的Spire.Pdf for .NET...
    99+
    2022-11-13
  • Python数据分析之真实IP请求Pandas详解
    前言 pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结...
    99+
    2022-06-04
    详解 真实 数据
  • Qt数据库应用之实现通用数据库请求
    目录一、前言二、功能特点三、体验地址四、效果图五、相关代码一、前言 数据库请求是在数据库采集的基础上,换成http请求的形式来获取数据,这样就脱离了数据库组件,而采用的通用的http...
    99+
    2022-11-13
  • Qt数据库中如何实现通用数据库请求
    小编给大家分享一下Qt数据库中如何实现通用数据库请求,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言数据库请求是在数据库采集的基础上,换成http请求的形式...
    99+
    2023-06-29
  • java防止重复数据请求怎么实现
    有多种方法可以实现防止重复数据请求的功能,以下是其中一种常见的做法: 在Java应用中定义一个全局的缓存对象,用于存储已经处理过的...
    99+
    2023-10-23
    java
  • Python 函数如何实现实时响应并发请求?
    Python 是一门强大的编程语言,它支持并发编程。在现代 Web 应用程序中,实现并发请求处理是至关重要的。在本文中,我们将探讨如何使用 Python 函数来实现实时响应并发请求。 Python 函数是一种可重复使用的代码块,可以接收参...
    99+
    2023-08-29
    函数 实时 并发
  • Jmeter基于JDBC请求实现MySQL数据库测试
    理论知识部分: 一、简单总结几点数据库测试点: 检查接口返回的数据是否与预期一致 传递数据类型错误时能否处理,比如数据类型要求是整数,传递小数时能否处理 接口参数的边界值 接口处理数据的时间 接口的安全性 二、Jem...
    99+
    2022-05-19
    Jmeter JDBC请求 MySQL 数据库 测试
  • Vue.js+HighCharts实现动态请求展示时序数据
    本文实例为大家分享了Vue.js+HighCharts实现动态请求展示时序数据的具体代码,供大家参考,具体内容如下 <template>   <el-contain...
    99+
    2022-11-13
  • 实现Android中的网络请求和数据解析
    在Android中,可以使用以下方法进行网络请求和数据解析: 网络请求 使用Android框架提供的HttpURLConnection或HttpClient进行网络请求。 1 HttpUrlConnection HttpURLConnect...
    99+
    2023-09-07
    android java 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作