2016-04-29 14 views
1

Ich möchte ein Javascript-Skript von meinem Desktop ausführen, die Informationen aus einer bereitgestellten Google Chrome .LOCALSTORAGE-Datei abrufen kann, und ich war neugierig, wie dies zu tun ist. Ich weiß, dass es lokalen Speicher gibt, aber das ist für innerhalb des Browsers. Ich möchte in der Lage sein, '\ .config \ google-chrome \ Default \ Lokaler Speicher \ Default \ http_asite.com_0.localstorage' anzugeben, wo es dann die k, v-Paare zurückgibt. Ich weiß, dass es zu etwas Kapazität lesbar ist, da Sie Werkzeuge wie DB Browser verwenden können, um dies zu tun.Website-LocalStorage anzeigen

+0

ist nicht JavaScript, ist es für Google Chrome –

+0

@PraveenKumar aber ich bin zu wollen, dies zu tun mit JS –

+0

Okay, als solche aktualisiert. –

Antwort

0

SOOOO, wenn jemand anderes dies tun möchte, schrieb ich diese Arbeit in Arbeit. Es ist UAF, aber verkettet alle k, v-Paare in eine einzige Zeichenfolge, um dann analysiert zu werden. Da es kein wirklich gutes Format für die Verbindung mit sqlite3 gibt, sind die Tabellen nicht einfach zu finden, und die Werte werden als Blob gespeichert, es ist nur ein PITA zu tun. Der Index von wird verwendet, um Zeichen einzuschließen, die normalerweise entfernt werden würden (fügen Sie also bei Bedarf weitere hinzu). HINWEIS: Dies ist ein Mac-Verzeichnis, Ubuntu- und Windows-Benutzer müssen dies berücksichtigen. Diese

function get_storage() { 
    var arrayBuffer; 
    var file_path = '/Users/you/Library/Application\ Support/Google/Chrome/Default/Local\ Storage/asite.com.localstorage'; 
    fs = require('fs'); 
    fs.readFile(file_path, 'utf8', function (err, data) { 
     if (err) { 
      return console.log(err); 
     } else { 
      data = data.toString(); 
      // Weed out garbage 
      data = data.replace(/[^\x00-\x7F]/g, "").replace(/\0/g, '').replace(/\3/g, '').replace('FAIL)', '').split(" "); 
      var user_credentials = data[data.length - 1].split(""); 
      var my_result = []; 
      // Account for js keywords 
      for (var i = 0; i < user_credentials.length; i++) { 
       if (/\r|\n|\t|\b/.exec(user_credentials[i]) != null || 
        user_credentials[i].indexOf("@") > -1 || 
        user_credentials[i].indexOf("!") > -1 || 
        user_credentials[i].indexOf(".") > -1) { 
        my_result.push(user_credentials[i]); 
       } 
      } 
      // final sweep because some will get missed 
      my_result = my_result.join("").split("\n")[0].split("\r")[1]; 
      // a site's local storage 
      console.log(my_result) 

     } 
    }); 
} 

get_storage(); 
Verwandte Themen