工具: chrome浏览器
接口返回的都是base64字符
解题思路:
1.base64解码 发现是二进制 于是去看js部分
2.js部分是混淆压缩过的,先不搜代码 直接搜接口返回的部分 比如关键字.code .data 或者搜200
3.这里搜到是Decrypt函数解密的 转到 Decrypt函数
4.很清晰的看到是aes-cbc加密 key是nh iv是rh 代入解密
package main
import (
"crypto/aes"
"crypto/cipher"
"encoding/base64"
"log"
)
func main() {
key := []byte("r4rt5A8L6ye6ts8y")
iv := []byte("fs0Hkjg8a23u8sE0")
ciphertext, _ := base64.RawStdEncoding.DecodeString("ZhYC5BmCPCaWQCYCpEUhHI2SyTbs94Ot5Hh/EpFLK04Ss9tFQR0lD5MCovOdJ3mTUfg8q3jEd6x8LPghYUIK57hS4WJWQVtSnQnhYJaew3ZMHMlPeGe/ZbQ5OKk3W00BxNSCy1jzdz4O306+WDoOHVDGzZRbuizXl0bWzRtCiShLWhGaLY3MhWRA9Dvp2l1mPEL9s9aiVLS/hOuSN6QZJfHD33zNAZWY3xi6RXenuU+300uXgpCI48sbGPuP0bgmS3LJn+0SUj0gQc3U4T88E17nGxB7XnsHAkcNct/tLzfSzuA63DHy08MHiMJkkTnTp3s5CgZ5MqD4EthxurjcLWgz4pDhDwCRiaTZ4ZEbRojDcZAFzwc3cgk5MhCCcPL4N4YJSUsByb5NCcpKz9GZCn4yi4aBFoySf4xPNopBNio9gFe8HjbRjayMKz/rjz0/TRKYPlkamaXBpofwWDIwR0yVAWgBgn4zaWcV3xjtLxmXoawsKRz5ZE1YAgRsPiEgoKhom5VdW5iJh7zZZHC1i6udYrvGMDeHnxizJ7l8LU7IzTbvnN/WayGRMNse3zm+6u2h3+6nMOsPCCic06AZrObSNxHm0ig1KwSse9sQHJZuD/rrIIMy+BJMT11Kve7Kyyu8SOAS60HgSSUxjQDTliQ2CQ1SXVaAzgKelib+2GtVRfVXYgYhO1r84l7jqHt2B7sSSC4dXECWB+hx/PGX/9EkwFeob7qzbm0MJsEzGCmmMogznkjvClz7IW2uFepuCSxsv7d/mi0AXEGtvh27qejgXIBTtEUoHzziVDOSj+nlr/Tbv0N4TW7V4MVH92HXd/IhGmCHKgxZp7xUF47Xiq6TpPikV/ej3h4qj7M6c+jCtkPHHelIY3vzJh4xGnSMc/u0sdp2SvylaLTVfQKX4Mw96vH5zwW72nvk4+dKgHl2w8B1ac5V6dTDoWRIdtV7Oz0G9HNxm17ErlbtMihssXmr8gnwKHE3bYQPBkW5D/Xud9PN/kWYeT3WvsguaG7SFqarctLTuUmsH6s+KDaCaBXRIisXAWzJ4m6Qa9tUiKqdXYoU9CwCTJAOMyAlzFuMFTkGpEUi7+vY+6cCjK0me0AbLT5rvEl+5QAYcEnj2cxRWrZikQtat+cZx0Nr33bbX8pR22748k93PlgK+U8O5DUQEk0jPIBZYl9hyzAfCSCbVFvcxnum8uQDXDb2DR28J3cShd01npF28zXOs5zqPacM5o2WZ59MN2ci0ULY+0LUFv6nPmNuHVmA3NrfSAXPOSs2qYh3RyR7cUPaBDLJ7Ee+7vjYrA9EzA1jts+MJVTRsILPUDlhto/EgiTb+YnggDzPOvDWpDPCxptULzdYgqpkrLkpSD2k3VPgwdshJXE96SMsUylTkfEqzNTeICDgGnaiXbXQfcu3gu4uMUI4EdKANBZunDldV5I+6FLxLbI9gRCqMop8azyz2TodrKrr35XXVJng1EvQ7Bbwb+3FHKIrps17lFVSCBPBn4YZMMbiObc9QtQewfbe+TkBD88JKOR8OKSkqGcBJA+Cn7uIhaGGClawSNddrU5CZO/s+5wEYjBTt+vp0I/EEz2p7Zpx+H6AjmDPa+Y+X50I+mX2SX86v8oV21UxPAfxOXEQu8V9Cww/M3uOOh/KAV0es5UXArWm0leBrV6m2Lilbh84o3eE9142cnMqXHpBgmKlsAF8CSItQc/1CRWZ43SuSSpyZr+JqSZ5l17UCFU9T4uUHWyV5t3pESkg6TMReuHYO9Zac9DCmc0vfRxDUeVTpuXW")
block, _ := aes.NewCipher(key)
mode := cipher.NewCBCDecrypter(block, iv)
mode.CryptBlocks(ciphertext, ciphertext)
log.Println(ciphertext)
}
解决:
原文始发于微信公众号(菜鸟小新):js api解密
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论