Désactiver firefox même origine

je développe un outil de recherche local qui m'oblige à désactiver la même politique d'origine de Firefox (en termes d'accès au script, Je ne me soucie pas vraiment des requêtes de domaines croisés).

plus précisément, je veux que les scripts dans le domaine hôte puissent accéder à des éléments arbitraires dans n'importe quelle iframes intégrées dans la page, quel que soit leur domaine.

je suis conscient Q & A précédent qui a mentionné le CORS FF extension, mais ce n'est pas ce dont j'ai besoin, car il n'autorise que les CORS, mais pas l'accès aux scripts.

si cela ne peut pas être fait facilement, j'apprécierais aussi toutes les idées qui me pointent vers une partie spécifique du code FF src que je peux modifier pour désactiver SOP, de sorte que je puisse recompiler FF.

90
demandé sur ROMANIA_engineer 2013-06-13 17:41:08

5 réponses

il y a une extension Firefox qui ajoute les en-têtes CORS à toute réponse HTTP travaillant sur le dernier Firefox ( build 36.0.1 ) publié 5 mars 2015 . Je l'ai testé et ça marche sur Windows 7 et Mavericks. Je vais vous guider à travers les étapes pour le faire fonctionner.

1) Obtenir l'extension

, Vous pouvez télécharger le xpi de ici (construit par l'auteur) ou de ici (miroir, ne peut pas être mis à jour).

ou téléchargez les fichiers à partir de GitHub. Maintenant C'est aussi sur Firefox Marketplace: télécharger ici . Dans ce cas, l'addon est installé après que vous cliquez sur installer et vous pouvez passer à l'étape 4.

Si vous avez téléchargé le xpi vous pouvez passer à l'étape 3. Si vous avez téléchargé le zip De GitHub, passez à l'étape 2.

2) construction du xpi

vous devez extraire le zip, entrer dans le dossier" cors-everywhere-firefox-addon-master", sélectionner tous les éléments et les zip. Ensuite, renommez le zip créé comme *.xpi

Note: Si vous utilisez L'interface graphique OS X, elle peut créer des fichiers cachés, donc vous devriez utiliser la ligne de commande.

3) Installation du xpi

vous pouvez simplement faire glisser et déposer le xpi dans firefox, ou aller à:" about:addons", cliquez sur le coin supérieur droit et sélectionnez" install add on from file", puis sélectionnez vous .fichier xpi. Maintenant, redémarrez firefox.

4) Mise au travail

maintenant, l'extension ne fonctionnera pas par défaut. Vous devez faire glisser l'icône d'extension vers la barre d'extension, mais ne vous inquiétez pas. Il y a des photos!

  • cliquez sur le Menu Firefox
  • cliquez sur Personnaliser

p1

  • Glisser-CorsE du bar
  • maintenant, cliquez sur l'icône, quand elle est verte les en-têtes CORS seront ajoutés à n'importe quelle réponse HTTP

p2

5) essai si cela fonctionne

jQuery

$.get( "http://example.com/", function( data ) {
  console.log (data);
});

JavaScript

xmlhttp=new XMLHttpRequest();

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4) {
        console.log(xmlhttp.responseText);
    }
}

xmlhttp.open("GET","http://example.com/");
xmlhttp.send();

6) considérations finales

notez que https to http n'est pas autorisé .

il y a peut-être un moyen de l'contourner, mais c'est derrière la portée de la question.

76
répondu Giacomo Tecya Pigani 2018-01-18 01:02:04
about:config -> security.fileuri.strict_origin_policy -> false
29
répondu Niklas 2013-08-28 18:22:15

j'ai réalisé que ma réponse plus ancienne est rétrogradée parce que je n'ai pas précisé comment désactiver la même politique D'origine de FF. Je vais donner ici une réponse plus détaillée:

Avertissement: Ceci nécessite une re-compilation de FF, et la nouvelle version compilée de Firefox ne sera pas en mesure de activer PON de nouveau.

vérifiez le code source de Firefox de Mozilla, trouvez nsScriptSecurityManager.rpc dans le répertoire src. Je vais utiliser une énumérés ici comme exemple: http://mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp

allez à la fonction implementation nsScriptSecurityManager::CheckSameOriginURI, qui est la ligne 568 en date du 03/02/2016.

Faire que la fonction retourne toujours NS_OK.

ceci désactivera Sop pour de bon.

le navigateur addon réponse par @Giacomo devrait être utile pour la plupart les gens et moi avons accepté cette réponse, cependant, pour mes besoins personnels de recherche (TL;ne m'expliquera pas ici) il n'est pas suffisant et je me dis que d'autres chercheurs peuvent avoir besoin de faire ce que j'ai fait ici pour tuer complètement SOP.

7
répondu Yuchen Zhou 2016-03-02 23:29:37

j'ai écrit un add-on pour surmonter ce problème dans Firefox (Chrome, Version Opéra aura bientôt). Il fonctionne avec la dernière version de Firefox, avec de belles UI et le soutien js regex: https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors

enter image description here

6
répondu Tan Mai Van 2017-05-21 04:28:55

Que de septembre 2016 cet addon est le meilleur pour désactiver CORS : https://github.com/fredericlb/Force-CORS/releases

dans le panneau d'options, vous pouvez configurer l'en-tête à injecter et spécifier le site web pour qu'il soit activé automatiquement.

enter image description here

3
répondu Khado Mikhal 2016-09-09 21:00:16