You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建缺失属性返回对应属性名的JavaScript对象以混淆攻击者

实现方案

要让对象访问任何不存在的属性时返回属性名本身,可以使用JavaScript的Proxy对象拦截属性访问操作:

const myGlobal = new Proxy({}, {
  get(target, prop) {
    return prop.toString();
  }
});

console.log(myGlobal.apple); // 输出 "apple"
console.log(myGlobal.javascript); // 输出 "javascript"

原理说明

  • Proxy会创建目标对象的代理,拦截并自定义它的基础操作(这里是属性访问行为)。
  • 定义的get陷阱函数会在任何属性被访问时触发,参数prop就是当前访问的属性名,直接返回它就能实现需求。
  • 该方案不仅适配示例中的两个属性,对任意未定义的属性都会返回属性名本身,能更全面地迷惑攻击者。

内容的提问来源于stack exchange,提问作者yuhanhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 21:52:27