河南电商网站开发网络系统管理与维护电大考试题

张小明 2026/3/2 20:02:49
河南电商网站开发,网络系统管理与维护电大考试题,公司品牌的塑造网站建设,dedecms源代码生成网站全过程0x0 引言app在请求下单的时候会携带一个sign值#xff0c;这个sign值是通过特定的签名算法生成的加密字符串#xff0c;主要用于接口安全验证和防篡改保护。sign:e24c6676f38d3e97178de0808b931781初步推测可能采用了MD5加密#xff0c;这并非主流大厂的产品。通常的生成流程…0x0 引言app在请求下单的时候会携带一个sign值这个sign值是通过特定的签名算法生成的加密字符串主要用于接口安全验证和防篡改保护。sign:e24c6676f38d3e97178de0808b931781初步推测可能采用了MD5加密这并非主流大厂的产品。通常的生成流程参数排序将所有请求参数除sign本身外按照参数名的ASCII码从小到大排序参数拼接将排序后的参数以参数名参数值的格式用符号连接起来例如amount100order_id123456×tamp1625097600添加密钥在拼接后的字符串末尾加上预先约定的API密钥secret key如amount100order_id123456×tamp1625097600keysecret_key加密计算对最终字符串进行MD5或SHA1等加密运算生成sign直接尝试用 Frida 进行 hook 操作0x1 frida hookmd5参数值PWFSJVAEQYUSNDEFNMHSISJISKHSULDESKM5935JVABS2528909106671L9D2A7M0U5Y2T0C2PPC请求参数{ timeStamp: 1766019098252, nonce: SBAVJ, sign: 903fb31cd87c0990b36728a54e049136, ticketTypeId: 5395, count: 1, purchaserIds: }看到这里心里突然咯噔一下像是被什么东西猛地揪住了。仔细检查了好几遍发现确实没有对应的参数可以匹配这个操作。手心开始微微冒汗脑子里闪过各种可能的解决方案。这时我深吸一口气告诉自己别慌保持冷静。突然想到一个有趣的思路既然正向查找不行那为什么不试试反向操作呢或许将字符串倒序输出就能找到突破口。CPP2C0T2Y5U0M7A2D9L1766019098252SBAVJ5395MKSEDLUSHKSIJSISHMNFEDNSUYQEAVJSFWP0x2 参数分析固定值1: CPP2C0T2Y5U0M7A2D9Ltimestamp: 1766019098252nonce: SBAVJticketTypeId: 5395固定值2MKSEDLUSHKSIJSISHMNFEDNSUYQEAVJSFWP经过多次深入分析包括日志记录、数据比对和单元测试验证发现固定值1和固定值2在整个程序运行周期内始终保持不变由于这两个值表现稳定且不影响核心功能后续有时间的话再进行深入反编译分析nonce是一个随机生成的5位字符串主要用于安全验证和防重放攻击0x3 sign值构造拼接规则详细说明前缀部分reverse(prefix)票种ID处理reverse(ticketTypeId)随机数处理reverse(nonce)时间戳处理reverse(timestamp)后缀部分reverse(suffix)完整示例 输入参数prefix CPP2C0T2Y5U0M7A2D9LticketTypeId 5395nonce SBAVJtimestamp 1766019098252suffix MKSEDLUSHKSIJSISHMNFEDNSUYQEAVJSFWP最终拼接结果 reverse(prefix) reverse(ticketTypeId) reverse(nonce) reverse(timestamp) reverse(suffix)将拼接的结果再进行md5得到sign0x4 sign值还原def _reverse(self, value) - str: 通用倒序方法数字先转字符串再倒序 return str(value)[::-1] def _generate_nonce(self, length: int 5) - str: 生成随机字符串默认长度 5 return .join(random.choices(string.ascii_uppercase, klength)) def _md5(self, text: str) - str: 计算字符串的 MD5 值返回小写十六进制 return hashlib.md5(text.encode(utf-8)).hexdigest() def generate_sign(self, ticket_type_id: int, nonce: str, timestamp: int) - str: 生成 sign 拼接规则prefix reverse(ticketTypeId) reverse(nonce) reverse(timestamp) suffix raw_str f{self.prefix}{self._reverse(ticket_type_id)}{self._reverse(nonce)}{self._reverse(timestamp)}{self.suffix} return self._md5(raw_str)0x5 结论由于MD5加密算法具有单向不可逆的特性无法通过哈希值反推出原始数据因此在服务器端进行签名校验sign值验证时必须要求客户端在请求中提供用于生成签名的原始参数或相关数据。基于此我们尝试对字符串进行倒序处理。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站开发系统流程图超人气网站是这样建成的

菜单与工具栏开发指南 在软件开发中,菜单和工具栏是用户界面的重要组成部分,它们为用户提供了便捷的操作方式。本文将详细介绍键盘快捷键、状态栏提示、不同类型的菜单项以及菜单栏的实现方法。 1. 键盘快捷键 键盘快捷键可以提高用户操作的效率,在开发中,键盘快捷键以 …

张小明 2026/1/12 4:10:59 网站建设

网站购买空间多少钱做教育app的网站

1.什么是 Nginx 惊群问题?如何解决惊群问题? 回答重点 Nginx 惊群问题指的是在多进程环境下,当一个事件(如新的请求)发生时,所有等待的进程会同时被唤醒去处理该事件,但最终只有一个进程能够成功处理这个事件,其他进程则会重新进入等待状态。这种情况下,多个进程争抢…

张小明 2026/1/10 15:58:16 网站建设

微信公众号封面制作网站建设银行粤通卡网站

Chatbox AI助手终极指南:从零开始掌握桌面AI神器 【免费下载链接】chatbox Chatbox是一款开源的AI桌面客户端,它提供简单易用的界面,助用户高效与AI交互。可以有效提升工作效率,同时确保数据安全。源项目地址:https://…

张小明 2026/1/10 14:36:11 网站建设

网站开发美工总结系统与网站的区别

解决化学镀锡药水选型难题,技术解析来帮忙引言在电镀添加剂领域,电镀酸铜、化学镀锡、化学镀厚锡、高耐盐雾镀铬和化学镀镍等产品发挥着关键作用。随着环保意识的增强和工业生产对高性能镀层的需求,如何选择合适的化学镀锡药水成为行业关注焦…

张小明 2026/1/10 9:50:20 网站建设

李贤威wordpress建站教程代码网站有哪些

计算机保研申请必备:高效制作专业简历的完整指南 【免费下载链接】King-of-Pigeon 计算机保研简历与文书实用模板 项目地址: https://gitcode.com/gh_mirrors/ki/King-of-Pigeon 还在为计算机保研申请而烦恼吗?不知道如何制作一份能够吸引导师注意…

张小明 2026/1/10 19:08:20 网站建设

阜阳市建设工程质量检测站网站南宁网络推广软件

随着AI技术日新月异的进步,越来越多的企业和开发者开始着手开发自己的AI Agent(智能代理)。这些AI Agent可以在各种领域提供支持,从自动化办公到客户服务、从数据分析到智能推荐,几乎无所不包。然而,开发AI…

张小明 2026/1/8 0:58:49 网站建设