查看网站本地存储

View a websites localstorage

本文关键字:存储 网站      更新时间:2023-09-26

我想在桌面上运行一个Javascript脚本,它可以从提供的googlechrome.localstorage文件中提取信息,我很好奇如何做到这一点。我知道有本地存储,但那是在浏览器内。我希望能够指定"''config''google chrome''Default''Local Storage''Default''http_asite.com_0.localstorage",然后返回里面的k,v对。我知道它在一定程度上是可读的,因为你可以使用DB Browser这样的工具来完成这项工作。

SOOOO,如果其他人想做这件事,我正在写这项工作。它是UAF,但将所有k,v对连接到一个字符串中,然后进行解析。由于没有一个真正好的格式来与sqlite3接口,因此表不容易找到,并且值存储为blob,这只是一个PITA。的索引用于包括通常会被删除的字符(因此,如果需要,请添加更多)。注意:这是一个mac目录,ubuntu和Window用户需要对此进行说明。

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();