当前位置: 首页 > news >正文

JS逆向-Sign签名绕过技术算法可逆替换库模拟发包堆栈定位特征搜索安全影响

知识点:
JS逆向-Sign绕过-签名影响&加密解密

Sign(签名)机制广泛应用于API请求、数据传输、身份验证等场景,用于确保数据的完整性和来源可信性。它对渗透测试(Penetration Testing)带来了显著的影响,既有安全增强作用,也增加了测试的挑战,测试人员需要结合逆向分析、动态Hook、服务器逻辑测试等方法,才能有效发现潜在的绕过漏洞。

Sign机制对渗透测试的正面影响:
1、提高安全性,减少低风险漏洞
防篡改:Sign通常基于HMAC、RSA、AES等算法,确保数据在传输过程中未被篡改,减少中间人攻击(MITM)风险。
防重放攻击(Replay Attack):时间戳(Timestamp)和Nonce机制使得截获的请求无法直接重放。
防未授权访问:请求必须携带正确的签名,否则会被服务器拒绝,减少越权漏洞(如未授权API访问)。
2、推动更深入的测试方法
迫使更关注业务逻辑漏洞(如绕过签名校验),而非仅依赖自动化工具扫描。

Sign机制对渗透测试的负面影响:
1、增加渗透测试的复杂度
逆向分析难度大:如果Sign算法被混淆或加密,测试人员需花费大量时间逆向JavaScript/App代码。动态调试受限:Burp Suite、Fiddler等工具难以直接修改请求,因为签名错误会导致请求失效。自动化扫描失效:大多数Web漏洞扫描器(如AWVS、Nessus)无法自动处理签名,导致误报或漏报。
2、可能掩盖漏洞,导致误判
误以为“有Sign=安全”:开发人员可能过度依赖Sign,忽略其他安全措施(如输入过滤、权限控制)。签名绕过漏洞:如果签名校验逻辑存在缺陷(如客户端计算签名、弱密钥、算法可预测),仍可能被绕过。
3、影响测试效率
每次测试需重新生成签名,手动测试效率降低。
如果Sign机制频繁变更(如密钥轮换),测试脚本可能失效。

演示案例-JS逆向-Sign绕过-签名影响&加密解密

案例1-Yakit(主要了解安全影响)

如登录框口令爆破-数据包完整性校验才能进入正常逻辑
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

0、签名带来的干扰

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、调用堆栈

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、分析outputObj

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、验证sign逻辑

推荐项目:https://github.com/gchq/CyberChef
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例2-算法逆向绕过

测试地址:https://www.kaoshibao.com/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

0、入口

根据URL路径下XHR断点:/api/questions/lists
在这里插入图片描述
在这里插入图片描述

1、调用堆栈

根据调用堆栈找sign加密逻辑
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

t.headers.Sign = h
h = bs()(o + c + r + n + o)

在这里插入图片描述

2、分析bs()和参数值

下断点bs,调试输出找声明为MD5算法
o是上边写死的
c是cookie里面uu参数的值
r = t.url.replace("/api", "")
n是时间戳n = (new Date).getTime()
bs()=MD5o = "12b6bb84e093532fb72b4d65fec3f00b"
c = "dbbc7981-906b-45c5-8102-edf02376f9c4"
r = "/api/questions/lists".replace("/api", "")
n = (new Date).getTime()
sign = crypto.MD5(o + c + r + n + o).toString()
console.log(sign)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、验证sign逻辑(配合AI发包)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于有时间戳的关系,sign每时每刻都在变化,这里可以尝试利用python去替换sign,看是否能获取到加密后的数据。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例3-算法逆向绕过

测试地址:https://www.iciba.com/

0、入口

根据URL参数名,全局搜索sign=
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、MD5算法

r=y()("6key_web_new_fanyi".concat(w.LI).concat(t.q.replace(/(^\s*)|(\s*$)/g, ""))).toString().substring(0, 16);  
固定w.LI=6dVjYLFyzfkFkk t.q翻译词

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、$Q

找密钥 r = s(t)=L4fBtD5fLC9FQw22
function l(e) {var t = ......., r = n.enc.Utf8.parse(s(t)), o = n.AES.encrypt(e, r, {
mode: n.mode.ECB,
padding: n.pad.Pkcs7});return o.toString()}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、验证sign逻辑

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/398503.html

相关文章:

  • 网站一起做网店美工做兼职在那个网站
  • CI/CD Pipeline:完整指南
  • go引入自定义mod
  • 做网站需要多长时间iis 配置网站详解
  • 【Android】解决安卓在隐藏系统栏后usb鼠标被隐藏的问题
  • 公司企业网站免费建设长沙市天心区建设局网站
  • VS Code 格式化配置优先级与作用机制(包含ESLint)
  • IP地址的分类方法
  • 【halcon】新版 HALCON 中 `flush_graphic` 的正确打开方式
  • 数据科学-损失函数
  • Linux中mysql修改系统时间为北京时间,并修改成24h制,第275章
  • 网络通讯篇防火墙组策略入站和出站规则单层双层C2正反向上线解决方案
  • 【力扣LeetCode】 1413_逐步求和得到正数的最小值
  • 给别人做网站赚钱吗wordpress邮件找客户端
  • 有没有做logo的网站网站开发常去的论坛
  • todesk连接Mac设备时卡在100%(手机、平板连接时卡在75%)
  • ETF网格策略的呼吸机制基于市场热度的动态间距调控
  • 高性能服务器配置经验指南7——基于tar命令打包存储conda虚拟环境
  • C++ constexpr 修饰符与函数
  • Conda虚拟环境管理完全指南:从创建到跨设备迁移
  • SuperScript:C#脚本编辑器、C#脚本引擎
  • 网站建设项目设计的图片青岛seo服务哪家好
  • 打开网站代码怎么写深圳十大建筑设计院
  • 网站如何制作 优帮云关于学校网站建设的请示
  • 网络协议与层次划分
  • Express入门和实践(一)
  • 从零开始搭建深度学习大厦系列-4.Transformer生成式大语言模型
  • 【MySQL初阶】04-数据表的操作
  • 展会进行时 | Splashtop Inc.(浪桥科技)亮相2025中国国际工业博览会
  • SMTPman,smtp服务器的使用全解析与指南!