Plug-n-Hack Etape1

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

L'étape 1 de Plug-n-Hack (PnH) permet une intégration facile et définit comment les outils de sécurité peuvent avertir leurs capacités pour les navigateurs.

Outil de sécurité manifest

Pour supporter PnH-1 les outils de sécurité fournissent un manifeste sur HTTP (S), qui définit les capacités que le navigateur peut utiliser.
Il appartient aux auteurs de l'outil de décider comment l'URL du manifeste est publié.

L'outil de configuration servant un document HTML (que nous appellerons dans la configuration du document de configuration) dans le navigateur. Cela peut entraîner le navigateur d'inspecter le manifeste et d'enregistrer l'outil par un tir de CustomEvent avec le type de ConfigureSecTool et une des propriété d'objet qui spécifie l'URL du manifeste de l'outil. Par exemple:

var manifest = {"detail":{"url":"http://localhost:8080/manifest"}};
var evt = new CustomEvent('ConfigureSecTool', manifest);

Il est suggéré que les navigateurs souhaitant soutenir PnH limiter la manipulation des CustomEvents tels qu'ils sont ignorés lorsque l'événement se produit en dehors des actions initiées par l'utilisateur.

Le document de configuration doit alors écouter un certain nombre d'autres événements:

  • ConfigureSecToolStarted - cette notification dans le document que le navigateur traite de la configuration; si cet événement n'est pas reçu dans un délai raisonnable après l'événement ConfigureSecTool a été tiré, vous voudrez peut-être pour avertir l'utilisateur que PnH ne semble pas être pris en charge par ce navigateur (peut-être les incitant à installer l'addon appropriée).
  • ConfigureSecToolFailed - cette notification dans le document de configuration est déclanché lorsque la configuration a échouée pour une raison quelconque. L'utilisateur doit être informé que la configuration a échoué.
  • ConfigureSecToolSucceeded - cette notification dans le document que la configuration a réussi. L'utilisateur peut recevoir un message à cet effet.
  • ConfigureSecToolActivated - cette notification dans le document du support PnH (peut-être pas disponibles auparavant, par exemple en raison d'un addon manquant) a été activé.

Vous pouvez voir un exemple d'un document de configuration dans le ZAP PnH addon. Il y a un autre (peut-être à jour) par exemple ici.

Un exemple de manifest (pour OWASP ZAP) est :

{
  "toolName":"OWASP ZAP",
  "protocolVersion":"0.2",
  "features":{
    "proxy":{
      "PAC":"http://localhost:8080/proxy.pac",
      "CACert":"http://localhost:8080/OTHER/core/other/rootcert/"
    },
    "commands":{
      "prefix":"zap",
      "manifest":"http://localhost:8080/OTHER/mitm/other/service/"
    }
  }
}

Le top du niveau du manifeste comprend des liens facultatifs à une PAC proxy et un certificat de CA racine.

Seul l'option lié à un autre manifest qui décrit les commandes du navigateur peut invoquer.

Le service des manifestes pour vos outils externes

Vous voudrez peut-être utiliser le manifeste à partir d'un serveur web distant (exemple pour tester); Plug-n-hack nécessite l'outil et le service manifeste pour utiliser à partir de la même source

Plug-n-bidouille nécessite l'outil et le service manifeste pour être servi à partir de la même origine que les extrémités de l'API, mais, à des fins de test, Ringleader

You may want to serve manifests from a separate webserver (e.g. for testing); Plug-n-hack requires tool and service manifests to be served from the same origin as the API endpoints but, for testing purposes, Ringleader (the Firefox addon implementation of the browser component) allows you to set a preference to relax or disable origin checks. The preference is

ringleader.check.origin

This can be set to 'off' to disble origin checks completely, or 'noport' to disable only port checks.

Security tool commands manifest

An example commands manifest (for OWASP ZAP) is: https://code.google.com/p/zap-extensions/source/browse/branches/beta/src/org/zaproxy/zap/extension/plugnhack/resource/service.json

Firefox UI

In Firefox the tool commands will be made available via the Developer Toolbar (GCLI) https://developer.mozilla.org/en-US/docs/Tools/GCLI

A example of how the ZAP commands are currently displayed is:

Note that user specified parameters can be specified for commands, which can either be free text, a static pull down list of options or a dynamic list of options obtained from the tool on demand.

So if you select the “zap scan” command then you will be prompted to select a site from the list of sites currently known to ZAP.

PnH does not specify how tool commands should be displayed, so other browsers are free to display them in different ways.

Related links
Plug-n-Hack Overview

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : hellosct1
 Dernière mise à jour par : hellosct1,