大佬们,如何防止 api 被别人恶意调用,目前使用了混淆+wasm+rsa&aes 都防不住 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
tmtstudio
V2EX    程序员

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

  •  
  •   tmtstudio 2024-08-30 16:34:49 +08:00 5724 次点击
    这是一个创建于 409 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    23 条回复    2024-09-04 19:32:39 +08:00
    tmtstudio
        1
    tmtstudio  
    OP
       2024-08-30 16:38:28 +08:00
    我接口参数和反参都这样了,真是没辙了
    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  
       2024-08-30 16:39:00 +08:00
    服务端限流 + recaptcha 认证
    jsonparse
        3
    jsonparse  
       2024-08-30 16:40:09 +08:00
    防重放+限流
    tool2dx
        4
    tool2dx  
       2024-08-30 16:42:19 +08:00
    加参数签名算法,把签名算法放到服务器 RPC 上来计算,按照一定的调用比例,识别恶意客户端 ID 。

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

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

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

    建议防重放+签名算法,配合服务端限流+环境检查之类的
    Lockeysama
        16
    Lockeysama  
       2024-08-30 17:19:46 +08:00
    关键字:WAF 、Bot Management
    iorilu
        17
    iorilu  
       2024-08-30 18:04:37 +08:00
    说明你的站很牛啊, 有人盯上了, 肯定 api 是有价值得
    glcolof
        18
    glcolof  
       2024-08-30 23:42:31 +08:00
    使用 https 协议,在 api 调用参数里面增加“用户名-密码”或者访问 token 字段,如果服务是收费的,每次调用都会扣费;或者免费服务限制调用次数调用频率。
    总不会有人故意泄露自己的用户名-密码或者 token 吧?
    jackOff
        19
    jackOff  
       2024-08-31 01:03:58 +08:00
    额,你不会是央视频吧?你可以试试找法务解决
    EndlessMemory
        20
    EndlessMemory  
       2024-08-31 10:38:17 +08:00
    新增一个接口参数,没有带新接口参数的全部返回假数据
    sobev
        21
    sobev  
       2024-08-31 12:07:12 +08:00
    @fruitmonster 妙啊妙啊
    12101111
        22
    12101111  
       2024-08-31 16:10:28 +08:00
    wasm 不需要反汇编,可以直接按你的 js 调用 wasm 的方法在 nodejs 这类运行时里直接运行。
    真正的加密必须在服务端用用户 id 做运算,wasm 只能当做一种 Pow 的限速器。
    wogogoing
        23
    wogogoing  
    PRO
       2024-09-04 19:32:39 +08:00
    @fruitmonster 秒啊!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     982 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 18:53 PVG 02:53 LAX 11:53 JFK 14:53
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86