python小技巧-获取浏览器本地数据库

前言:有些应用程序需要在客户端中存储数据,绝大部分使用的都是sqlite数据库,使用sqlite把整个数据裤都存放在客户端本地一个单一不分层的文件中。今天主要以火狐浏览器为例,利用python自动获取存储在本地sqlite数据库中的浏览器“历史浏览记录”,“cookie”信息和“历史提交参数”。

python小技巧-获取浏览器本地数据库_第1张图片
python小技巧-获取浏览器本地数据库

数据库存储路径:

Windows:C:Documents and Settings

Application DataMozillaFirefoxProfiles

Mac OS X: /Users//Library/Application

Support/Firefox/Profiles/

1.查看浏览器本地sqlite数据库

python小技巧-获取浏览器本地数据库_第2张图片
python小技巧-获取浏览器本地数据库

我们可以在文件中看到存储了这些数据库,我们可以利用navicat来连接上sqlite数据库,看看具体存储了哪些信息

这里大家可以自己每个sqlite文件都导入nacicat看一下,在这里就不做过多演示。

python小技巧-获取浏览器本地数据库_第3张图片
python小技巧-获取浏览器本地数据库

2.利用python自动化筛选数据

导入fromhistory.sqlit数据库文件,里面有两个表,其中“moz_fromhistory”表中存储了用户历史向web所提交的参数(其中可能包括了攻击参数)。

python小技巧-获取浏览器本地数据库_第4张图片
python小技巧-获取浏览器本地数据库

我们可以从数据库中挖掘有关的危险参数,可查到用户的攻击手段。(目前有些反取证手段,会利用ie内核自己编写反取证浏览器达到本地计算机不留痕迹的效果)

python实现:

python小技巧-获取浏览器本地数据库_第5张图片
python小技巧-获取浏览器本地数据库

向historydb传入一个路径参数,使用sqlie3模块连接到本地数据库,执行sql语句查询,最后将获取到的数据遍历打印出来。

3.举一反三

同样原理实现我们另外两个功能

python小技巧-获取浏览器本地数据库_第6张图片
python小技巧-获取浏览器本地数据库

4.让他脚本看起像个工具

python小技巧-获取浏览器本地数据库_第7张图片
python小技巧-获取浏览器本地数据库

写一个main函数做程序入口,使用sys和getopt模块获取终端指令,可以根据命令实现指定的函数功能。

5.测试

python小技巧-获取浏览器本地数据库

路径中存在空格,空格前需要加上“”,否则只能获取到空格前面的路径,后面的会获取不到。

python小技巧-获取浏览器本地数据库_第8张图片
python小技巧-获取浏览器本地数据库

执行后,会获取到浏览器存储在本地sqlite数据中的cookie信息

你可能感兴趣的:(python小技巧-获取浏览器本地数据库)