V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tmtstudio
V2EX  ›  程序员

大佬们,如何防止 api 被别人恶意调用,目前使用了混淆+wasm+rsa&aes 都防不住

  •  
  •   tmtstudio · Aug 30, 2024 · 6469 views
    This topic created in 605 days ago, the information mentioned may be changed or developed.

    太难缠了,目测是把 wasm 直接拿去加解密了

    23 replies    2024-09-04 19:32:39 +08:00
    tmtstudio
        1
    tmtstudio  
    OP
       Aug 30, 2024
    我接口参数和反参都这样了,真是没辙了
    param: CBvPwEcAyHmnRQ2VRJ+cTbrPfJothei4nkMFlvqGMZl/xduTNg9VVhWUyF/CrMCnld8OeZZpHaSxp/k4YH/DZvTTge4aCmK7sxR8qPoP+ZHjDaakoC3MiIhkzWbBWwPx4JbKCtc3E/8AMD52IU6bZjBM29zrfS2pawTmSHR+oUY9Jnlucv1mMOC1+/1BWwuSLFQ4bkyPoRsrflJUD9SfQzascADp9bvDAJ/Eh8fvVgT4FSkzqtyQVemopDrG9ntt
    code: H2l0TqAcrx+DIc0CW4eGWPSPZRrUHvlWaOaOXjpGQ3Tn79gh6PcwFW3J5KaZUcjOAMpbEgWS5D9i/wtqcNdI6iz0hX0Vmz62wVuxVJUa3ltXOMJk2RMvtoYOVb8Ne+IuSOOr3tMeB4JxmiRB4MNwdUnIXtHWc6z0OxVZ6FuPzrQ=

    {"status":1,"info":"\u6210\u529f","data":{"data":"VdAbKxb927LEtIEP6Hgd8820rE2EruZLa0WstR7lWZixMhmYE6TECFTlrci3pSVfeWz1voe7jkb1dAqDdU0mdzS95P+LzgOxImhuh6Dv3vKY8eHRLqgy+K1QsfcaqKxnaMFuVkTgZzJySlhTBZAhAbkqWuBMoaXv8Z6zGan\/pghVc7US2Z2wTiXfPRe4dWxLa3nWH2gIyIDwGj8Wxhxx9DFbxmSQoh6ZFjUz1v12+2LNaoN972OzlOU159e6QmX\/jKP4SVZB3vKi6EdeQynGKwZtuAVN3Am1q\/ayIZp1pbn8B+5PuK09OOTwElCPiAw3fn09l6CzlirCwpV5VJLEU96Cu7pYRLVrIOe5WEhgRbfExqZ+JOqd5Q+OuN6NosUqKW1ZlDHbu3Ha09gu9CyLbw56GcMQA60FCvUNInw4WCbxlOhcASO\/Ye73i1S07ZbeuyGvd3SZMxMd5+H8x95KduEp+IsRCh3DHOz94ORXtA4ivNPgoWuCjhgvHtq6whxBAMnm4Jf\/6MY24mrd9\/0BWQ==","code":"Z2SLbR+9Vz8noEFVL\/eD+XFccTgTJo6Rv53dPiNE0rSweOvoG9+fxZUdMW0dlF63Bche7cAaGPbko1WHel1s8eEBmjTPB1CHCNAep8mHD1wO2\/k\/FpPNhh2gVhKEvZqIqDhVjsT2lNk704RoKBXNsnf4zlxC1O8HoE5wmF45e\/8="}}
    huangzhiyia
        2
    huangzhiyia  
       Aug 30, 2024
    服务端限流 + recaptcha 认证
    jsonparse
        3
    jsonparse  
       Aug 30, 2024
    防重放+限流
    tool2dx
        4
    tool2dx  
       Aug 30, 2024
    加参数签名算法,把签名算法放到服务器 RPC 上来计算,按照一定的调用比例,识别恶意客户端 ID 。

    算法不放在本地,这总没办法了吧。
    RoyLaw
        5
    RoyLaw  
       Aug 30, 2024
    限制访问 IP
    Ayanokouji
        6
    Ayanokouji  
       Aug 30, 2024
    上个 apisix 之类的网关,挑一些插件开启
    LeeReamond
        7
    LeeReamond  
       Aug 30, 2024
    不太了解灰产解 wasm 怎么个说法,我感觉 wasm 解 AST 还挺麻烦的,但是也许你硬编码了什么字符串密钥或者接口之类的很好搞出来。

    @tool2dx http 无状态,灰产搞客户端那不是要开多少开多少,每次都是新 ID 。。。
    fruitmonster
        8
    fruitmonster  
       Aug 30, 2024   ❤️ 5
    coderxy
        9
    coderxy  
       Aug 30, 2024
    有的是改内存的, 你再怎么加密它正常用你的客户端去请求你也防不了。
    zhenjiachen
        10
    zhenjiachen  
       Aug 30, 2024 via iPhone
    wasm 不需要反编译,直接使用运行时就可以跑起来了,然后把参数放到接口里面调用就行了
    povsister
        11
    povsister  
       Aug 30, 2024
    专业风控团队都是风险因子收集+模式识别,靠行为模式来打击黑产。

    你用的这些方案都只能提高门槛,对于黑产本身来说不算啥。你当下最简单的方式就是,接口调用完之后保留一些供后续审计的数据,做不到在线实时识别的话事后打击也可以。
    tmtstudio
        12
    tmtstudio  
    OP
       Aug 30, 2024
    @fruitmonster #8 妙啊,这可以用在 wasm 里鉴权
    tmtstudio
        13
    tmtstudio  
    OP
       Aug 30, 2024
    @povsister #11 我这项目还吸引不到黑产,就是一些技术小鬼,现在有了 gpt 谁都能搞一下
    hsuehly
        14
    hsuehly  
       Aug 30, 2024
    我研究过一点,可以交流一下
    proxytoworld
        15
    proxytoworld  
       Aug 30, 2024
    核心是你即使在 wasm 加解密你还是得在 js 端使用 wasm export 出的 abi ,其实目前 wasm 反编译不是很成熟,大概率是把你 js 反混淆了

    建议防重放+签名算法,配合服务端限流+环境检查之类的
    Lockeysama
        16
    Lockeysama  
       Aug 30, 2024
    关键字:WAF 、Bot Management
    iorilu
        17
    iorilu  
       Aug 30, 2024
    说明你的站很牛啊, 有人盯上了, 肯定 api 是有价值得
    glcolof
        18
    glcolof  
       Aug 30, 2024
    使用 https 协议,在 api 调用参数里面增加“用户名-密码”或者访问 token 字段,如果服务是收费的,每次调用都会扣费;或者免费服务限制调用次数调用频率。
    总不会有人故意泄露自己的用户名-密码或者 token 吧?
    jackOff
        19
    jackOff  
       Aug 31, 2024
    额,你不会是央视频吧?你可以试试找法务解决
    EndlessMemory
        20
    EndlessMemory  
       Aug 31, 2024
    新增一个接口参数,没有带新接口参数的全部返回假数据
    sobev
        21
    sobev  
       Aug 31, 2024
    @fruitmonster 妙啊妙啊
    12101111
        22
    12101111  
       Aug 31, 2024
    wasm 不需要反汇编,可以直接按你的 js 调用 wasm 的方法在 nodejs 这类运行时里直接运行。
    真正的加密必须在服务端用用户 id 做运算,wasm 只能当做一种 Pow 的限速器。
    wogogoing
        23
    wogogoing  
    PRO
       Sep 4, 2024
    @fruitmonster 秒啊!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3694 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 04:46 · PVG 12:46 · LAX 21:46 · JFK 00:46
    ♥ Do have faith in what you're doing.