Giter Site home page Giter Site logo

kingthorin / neonmarker Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 7.0 414 KB

Continuation of the ZAP Neonmarker add-on previously by Juha Kivekäs

License: Apache License 2.0

HTML 2.87% Haskell 2.46% Java 94.67%
appsec zaproxy webappsec hacktoberfest dast pentest pentest-tool pentesting pentesting-tools zap

neonmarker's Introduction

Neonmarker Development Stats on Open Hub

Neonmarker

Continuation of the Zaproxy Neonmarker addon by @juhakivekas.

Neonmarker is a @zaproxy addon which facilitates colouring of History table entries based either on the Tags that have been applied to them (either by the Passive scanner or manually), or arbitrarily.

Example

neonmarker

Support

If you have problems or enhancement requests they can be raised as issues in this repository (just click the Issues tab above).

Help

Basic help info is available both within ZAP and via the ZAP website, including an example of how you can add color mappings via ZAP script.

Backlog/TODO

Order of tag rules can be dynamically changed in UI

  • drag and drop?

User can add colour by regex

  • UI configurable passive scanning rule
  • Custom Tagger extension?

User can save colour mappings between sessions and projects

  • database?
  • xml?
  • ZAP preference file?

IDEAS

  • Designer-picked colours "koodarivärit"

neonmarker's People

Contributors

kingthorin avatar thc202 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

neonmarker's Issues

Prevent duplicate mappings from being created

Per: https://groups.google.com/g/zaproxy-users/c/rlAMhZITk5k

With scanme.nmap.org:
image

Using the following passive scan script:

// Passive scan rules should not make any requests 

// Note that new passive scripts will initially be disabled
// Right click the script in the Scripts tree and select "enable"  

var PluginPassiveScanner = Java.type("org.zaproxy.zap.extension.pscan.PluginPassiveScanner");

/**
 * Passively scans an HTTP message. The scan function will be called for 
 * request/response made via ZAP, actual messages depend on the function
 * "appliesToHistoryType", defined below.
 * 
 * @param ps - the PassiveScan parent object that will do all the core interface tasks 
 *     (i.e.: providing access to Threshold settings, raising alerts, etc.). 
 *     This is an ScriptsPassiveScanner object.
 * @param msg - the HTTP Message being scanned. This is an HttpMessage object.
 * @param src - the Jericho Source representation of the message being scanned.
 */

extNeon = org.parosproxy.paros.control.Control.getSingleton().getExtensionLoader().getExtension(org.zaproxy.zap.extension.neonmarker.ExtensionNeonmarker.NAME);

function scan(ps, msg, src)
{
	// Regex found a match, let's a tag and add color to the entry line in History tab
	ps.addTag("my tag");
	extNeon.addColorMapping("my tag", 0x990000)
}

/**
 * Tells whether or not the scanner applies to the given history type.
 *
 * @param {Number} historyType - The ID of the history type of the message to be scanned.
 * @return {boolean} Whether or not the message with the given type should be scanned by this scanner.
 */
function appliesToHistoryType(historyType) {
	// For example, to just scan spider messages:
	// return historyType == org.parosproxy.paros.model.HistoryReference.TYPE_SPIDER;

	// Default behaviour scans default types.
	return PluginPassiveScanner.getDefaultHistoryTypes().contains(historyType);
}

Add usage details

  • Purposefully show the tab (panel) at install. [Done in #3]
  • Make an animated gif or something with an example.

Thanks to @sbzo for pointing out that it isn't intuitive.

This is a prime example of why some of zaproxy/zaproxy#3588 might be important.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.