[Chrome] Détecter les requêtes vers des données accessibles à tous …

Captur2e

 

 

Ok, j'ai noté que le titre de cet article était bof ...
Si vous avez mieux je suis preneur :)

 

J'avais envie de vous parler d'un aspect de la sécurité, qui n'est pas spécialement abordé sur beaucoup de site ...

 

Lorsqu'une application ou un site, tente  d'accéder à une ressource distante (ou locale) ...

 

Il y a une sécurité !

 

Le "Allow Origin" qui est retourné (ou non) dans l'entête de la réponse émise par le serveur ...

Si cette information est retournée, et que sa valeur mentionne que vous avez le droit d'accéder à la ressource en question ... ok ça marchera, et vous y accéderez

 

Mais si vous êtes un grand vilain pirate avec un seul oeil et une jambe de bois ...
Je suis au regret de vous dire que vous pourrez aller voir ailleurs si j'y suis ;)

 

Pourquoi est-ce si dangereux ?

 

Admettons que vous soyez connecté sur un site : MesDonnéesPersonnelles.com
Ce site, appelle des petits scripts qui retournent ... des données personnelles
Ok jusque là, tout va bien ...

 

Maintenant, si vous vous connectez sur un autre site : JesuisunPigeon.com

 

Et que ce site essaie durant votre navigation de faire des requêtes vers les scripts de "MesDonnéesPersonnelles.com".
Il profitera du fait que vous soyez authentifié sur ce site, pour récupérer vos données via ses scripts !

 

Captur2e

 

Pas d'affolement !

 

Par défaut, et surtout pour votre sécurité et bien être, la plupart des ressources sensibles ne sont pas accessibles depuis l’extérieur (sites / applications tierces).

Mais il arrive, que des développeurs, autorisent l'accès à certaines ressources sensibles ... pour des besoins particuliers ...

Un logiciel, ou une application mobile qui aurait besoin d'échanger des données avec un serveur par exemple.

 

C'est pour cette raison, que j'ai développé un petit bout de code, afin de me faire une extension, qui "sniff" en temps réel,  les ressources qui pourraient me mettre en danger ;) (ou que je pourrais, si j'étais un vilain garnement exploiter)

 

chrome.webRequest.onHeadersReceived.addListener(function(details){  
	for (var i in details.responseHeaders){
		if (details.responseHeaders[i].name && details.responseHeaders[i].name  == 'Content-Type')
			if (details.responseHeaders[i].value.indexOf('json') != -1)
				for (var j in details.responseHeaders)
					if (details.responseHeaders[j].name.toLowerCase().indexOf('allow') != -1)
						chrome.tabs.getSelected(null, function(tab) {
							var Signal = function(){
									var table 	= document.createElement('table'), tr = document.createElement('tr');
									table.style	='border:1px solid white;padding:10px;background:black;color:white;font-style:italic';
									table.appendChild(tr);
									for (var i in details){
										var td 		= document.createElement('td');
										if (i == 'pics'){
											var img = document.createElement('img');
											img.src = details[i];
											td.appendChild(img);
										}
										else
											td.textContent = details[i];
										td.style 	= 'border:1px solid white; padding:10px;';
										tr.appendChild(td);
									}
									html = document.getElementsByTagName('html')[0].appendChild(table);
							};
							var 
							d = {'pics':chrome.extension.getURL("AoD.png"),'url':details.url, 'data':JSON.stringify(details.responseHeaders)};
							var code = 'var details='+JSON.stringify(d)+';('+Signal.toString()+')();';
							chrome.tabs.executeScript(tab.id, {code: code});
						});
	}
},{urls: ["<all_urls>"]},["responseHeaders"]);

 

 

Capture

 

Elle m'affiche en bas de chaque page que je visite, les divers requêtes ... potentiellement "dangereuses"

Disponible ici :
https://chrome.google.com/webstore/detail/alloworigindetector/giapagaighdahpahnceodabocfpjjfnk?hl=fr

 

Partagez ce contenu

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *