文档详情

《西普python安全脚本实验》用Python解析火狐浏览器的SQLite3数据库.docx

发布:2025-03-28约2.47千字共9页下载文档
文本预览下载声明

用Python解析火狐浏览器的SQLite3数据库

实验指导

实验九用Python解析火狐浏览器的SQLite3数据库

【实验介绍】

1.概述

Downloads.sqlite数据库中存储的是火狐用户下载文件的相关信息,其中只有一张名为moz_downloads的表记录了文件名、源下载地址、下载时间、文件大小、引用(referrer)和本地存放该文件的路径。火狐数据库中的时间是当前时间距1970年1月1日过了多少秒再乘以1000000,因此在转换时间前我们先将其除以100万cookies.sqlite数据库中存放的是cookie信息,我们可以提取到这些cookie并重用它们places.salite数据库中存放的是浏览器的历史记录。

2.实验目标

了解SQLite3数据库的结构,学会使用python编写脚本分析SQLite3数据库。

本实验主要要求学生掌握以下几个方面:

(1)了解SQLite3数据库的结构;

(2)了解SQLite3的特点;

(3)掌握python编写脚本分析SQLite3数据库;

3.实验环境

Windows10操作系统;python3.x。

【实验步骤】

1.打开Windows操作系统

首先,我们需要进入Windows操作系统,界面图如下:

2.验证Python

(1)按住快捷键“Win+R”打开运行窗口,输入cmd,进入命令行窗口。

(2)在命令行窗口输入:python命令,验证是否存在。

3.脚本设计思路

(1)首先,我们定义一个函数,目的是提取用户的cookies。我们连接到数据库并执行我们的SELECT语句。在数据库中,moz_cookies维护这cookies,从cookies.sqlite数据库中的moz_cookies表中,我们将查询主机,名称,cookies的值,并在屏幕中打印出来。

(2)其次,我们希望列举浏览历史,火狐存储这些数据在places.sqlite数据库中。在这里,moz_places表给我们提供了宝贵的列,包含了什么时候用户访问了什么网站的信息。而我们的脚本printHistory()函数只考虑到moz_places表,而维基百科推荐使用moz_places表和moz_historyvisits表得到浏览器历史。

(3)最后,让我们使用最后的知识和先前的正则表达式的知识扩展我们的函数。浏览历史及其有价值,对深入了解一些特定的URL很有用。Google搜索查询包含搜索URL内部的权限。然而,现在让我们只提取搜索条件URL右边的条目。如果在我们的历史里发现包含Google,我们发现他的特点q=后面跟随者。这个特定的字符序列标识Google搜索。如果我们真的找到这个条目,我们将通过用空格替换一些URL中用的字符来清理输出。最后,我们将打印校正后的输出到屏幕上,现在我们有一个函数可以搜索places.sqlite文件并打印Google搜索查询历史。

4.编写准备

(1)若windows10操作系统中没有火狐浏览器,则我们需要去安装一个火狐浏览器。(存在火狐浏览器则省略)

①百度搜索“火狐浏览器”进入火狐官网,进行下载,如下图:

②将下载好的.exe文件双击,默认安装即可。

5.编写Python脚本

(1)开始着手编写Python脚本。打开Pycharm工具,界面图如下:

(2)我们创建四个函数实现四个功能。第一个功能是通过连接数据库并执行我们的SELECT语句并打印出下载记录;第二个功能是提取用户的cookies。我们连接到数据库并执行我们的SELECT语句。在数据库中,moz_cookies维护这cookies,从cookies.sqlite数据库中的moz_cookies表中,我们将查询主机,名称,cookies的值,并在屏幕中打印出来;第三个功能是列举浏览历史,火狐存储这些数据在places.sqlite数据库中。在这里,moz_places表给我们提供了宝贵的列,包含了什么时候用户访问了什么网站的信息;第四个功能是利用正则表达式扩展我们的函数,搜索places.sqlite文件并打印Google搜索查询历史。

完整代码截图:

运行结果截图:

实验报告

一、实验报告

Downloads.sqlite数据库中存储的是火狐用户下载文件的相关信息,其中只有一张名为moz_downloads的表记录了文件名、源下载地址、下载时间、文件大小、引用(referrer)和本地存放该文件的路径。火狐数据库中的时间是当前时间距1970年1月1日过了多少秒再乘以1000000,因此在转换时间前我们先将其除以100万cookies.sqlite数据库中存放的是cookie信息

显示全部
相似文档