渗透测试遇到sign签名的应对流程

admin 2026-03-11 03:08:29 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文探讨渗透测试中应对sign签名参数的策略。Sign机制通过验证防伪码阻断篡改攻击。测试流程包括识别未签名参数、删除sign或添加额外参数绕过。文章指出sign常配合timestamp与nonce防重放,导致并发测试困难。建议遇到强防护时优先寻找不含sign的功能点。 综合评分: 68 文章分类: 渗透测试,WEB安全,SRC活动,实战经验


cover_image

渗透测试遇到sign签名的应对流程

原创

游山玩水 游山玩水

山水SRC

2026年3月10日 09:59 河南

概述

本文讲解了在渗透测试中遇到请求包中包含sign参数该如何测试漏洞

理解sign签名参数对测试影响

想象您要进入一个小区(访问服务器数据),小区有个门卫(sign签名验证机制)

它让“硬闯”变得不可能

  • 以前(无Sign):您可以直接伪造一张门禁卡(修改请求参数)尝试混进去。
  • 现在(有Sign):门卫不光看卡,还会用专门的机器(密钥)验证卡上的加密防伪码(sign)。您自己胡乱修改参数后,防伪码对不上,门卫立刻就能识破。这直接封死了最原始的篡改攻击路径。(sign是根据数据包中的某些参数加密后生成的)

如果想要测试修改的参数被用于sign的参数加密,那么就无法修改该参数(比如测越权漏洞)

测试流程

①判断sign签名参数由哪些参数加密生成的,如果删除某参数后,返回 “签名无效” 错误,则表明它参与了签名生成;如果返回 “参数缺失” 等业务错误,则它可能未被签名保护,是重点测试对象。理想状态下就是想要修改的参数与sign签名无关

②当想要修改的参数与sign有关

可以尝试删除/置空sign参数

③添加额外参数admin=1(我认为存在可能性不高)

sign的生成肯定不包含自己添加的参数,因此可以尝试

比如sign=xxxx->sign=xxxx&admin=1(变成了管理员权限)

知识补充

①sign签名往往和timestamp和 nonce参数一起出现(出现就测不了并发)

timestamp:防止数据包长时间有用

nonce:防止数据包重发,当数据包被发送后,nonce值会被记录,该数据包就没法再用了(避免并发漏洞),nonce是随机生成的值

如图中所示两个一样操作,但是sign、timestamp、nonce都改变了

②遇到sign参数大概测测就跑路吧,寻找不包含sign功能点的数据包,感觉遇到sign参数没有很好的应对点,导致很多常规漏洞的测试都没法进行

③写这篇文章的原因是我测试时发现只要遇到存在sign参数的情况下去测试别的类型漏洞都手束无策,比如并发漏洞、越权漏洞等


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:山水SRC 游山玩水 游山玩水《渗透测试遇到sign签名的应对流程》

评论:0   参与:  0