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 des outils et des services du manifeste soient servis à partir de la même source que les points d'extrémité de l'API mais, à des fins de test, Ringleader (l'implémentation de l'addon Firefox du composant navigateur) vous permet de définir une préférence pour relâcher ou désactiver les contrôles d'origine . La préférence est

ringleader.check.origin

Ceci peut être réglé sur 'off' pour désactiver complètement les vérifications d'origine, ou 'noport' pour désactiver uniquement les vérifications de port.

L'outil de sécurité des commandes du manifest

Un exemple des commandes du manifest (de OWASP ZAP) est: https://code.google.com/p/zap-extensions/source/browse/branches/beta/src/org/zaproxy/zap/extension/plugnhack/resource/service.json

Firefox UI

Dans Firefox, les outils des commandes seront disponibles via la barre d'outils de développement (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,