Hi. I actually have a legit white-hat application for history sniffing, but according to what I've been reading, it's pretty much impossible with modern browsers. Have there been any recent developments?
you can use img tags to ping remote sites. using a known new site as a baseline, you can compare ping times for different sites. it's not 100%, but already-visited sites reliably ping faster than novel sites owing to dns caching.
say you ping 5 sites and get timings like this
Code:
timings={
google: 60,
yahoo: 220,
msn: 88,
aol: 55,
ask: 192
};
function obVals(ob) {
var r = [], i = 0;
for (var z in ob) { if (ob.hasOwnProperty(z)) {
r[i++] = ob[z];
}}
return r;
}
//find avg ping time:
var avg=obVals(timings).reduce(function(a, b) {return a + b;}) / obVals(timings).length
//make a visited site bucket:
var visited=[];
//collect visited site names here:
for(var i in o){
if(o[i]<avg){visited.push(i);}
}
//show the faster than avg sites:
alert("Visited Sites :\n\n"+visited.join("\n"));
as far as specific pages go, afaik, any leftover history leaks have dried up...
you can use img tags to ping remote sites. using a known new site as a baseline, you can compare ping times for different sites. it's not 100%, but already-visited sites reliably ping faster than novel sites owing to dns caching.
say you ping 5 sites and get timings like this
Code:
timings={
google: 60,
yahoo: 220,
msn: 88,
aol: 55,
ask: 192
};
function obVals(ob) {
var r = [], i = 0;
for (var z in ob) { if (ob.hasOwnProperty(z)) {
r[i++] = ob[z];
}}
return r;
}
//find avg ping time:
var avg=obVals(timings).reduce(function(a, b) {return a + b;}) / obVals(timings).length
//make a visited site bucket:
var visited=[];
//collect visited site names here:
for(var i in o){
if(o[i]<avg){visited.push(i);}
}
//show the faster than avg sites:
alert("Visited Sites :\n\n"+visited.join("\n"));
as far as specific pages go, afaik, any leftover history leaks have dried up...
Bookmarks