Skip to content
This repository has been archived by the owner on Mar 20, 2020. It is now read-only.

Contrast-Security-OSS/KrakenTestBench

Repository files navigation

KrakenTestBench

Intentionally Vulnerable Node Application

Adding a shared vulnerability

Once you have added shared functionality to @contrast/test-bench-utils and @contrast/test-bench-content, you are ready to add an endpoint in the test bench application.

Create a controllers/ruleName/index.js file and call the controllerFactory method:

const controllerFactory = require('../../utils/controllerFactory');
module.exports = controllerFactory('ruleName');

Check the documentation for controllerFactory under utils/controllerFactory.js usage information.

Create a models/ruleName.js file that provides sink data generated by @contrast/test-bench-utils:

const { utils } = require('@contrast/test-bench-utils');

module.exports = function CommandInjectionModel() {
  const sinkData = utils.getSinkData('ruleName', 'kraken');
  const routeMeta = utils.getRouteMeta('ruleName');

  return {
    ...routeMeta,
    sinkData
  };
};

Add a public/templates/ruleName.ejs file that includes the shared template from @contrast/test-bench-content:

<% include ../../node_modules/@contrast/test-bench-content/views/ruleName.ejs %>

Now run the app and make sure everything works as expected!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published