分析Firefox浏览器sqlite数据库

来源:互联网 发布:炉石主播 知乎 编辑:程序博客网 时间:2024/06/07 02:00

SQLITE数据库

SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有些差距。但是性能表现上,SQLITE并不逊色。麻雀虽小,五脏俱全, sqlite 实现了多数 sql-92 的标准,比如说 transaction 、 trigger 和复杂的查询等。

python的数据库模块有统一的接口标准,所以数据库操作都有统一的模式,基本上都是下面几步(假设数据库模块名为db):

  1. 用db.connect创建数据库连接,假设连接对象为conn
  2. 如果该数据库操作不需要返回结果,就直接用conn.execute查询,根据数据库事务隔离级别的不同,可能修改数据库需要conn.commit
  3. 如果需要返回查询结果则用conn.cursor创建游标对象cur, 通过cur.execute查询数据库,用cur.fetchall/cur.fetchone/cur.fetchmany返回查询结果。根据数据库事 务隔离级别的不同,可能修改数据库需要conn.commit
  4. 关闭cur, conn

Firefox浏览器使用的数据库便是sqlite,所以我们可以通过数据库搞一些事情。

具体操作——python

首先,先查询sqlite数据库的具体位置。
find / -name *.sqlite
这里写图片描述
发现存在cookie数据库信息,就可以用python跑一下了。

import sqlite3def printcookie(db):    try:        conn = sqlite3.connect(db)        c = conn.cursor()        c.execute('select host, name, value from moz_cookies')        for row in c:            host = str(row[0])            name = str(row[1])            value = str(row[2])            print '[+] Host: ' + host + ', Cookie: ' + name + ', Value: ' + value    except:        print '[-] Error'def main():    db = '/root/.mozilla/firefox/vanod4ef.default/cookies.sqlite'    printcookie(db)if __name__=='__main__':    main()

具体结果就不上图了,敏感信息自行尝试

阅读全文
0 0
原创粉丝点击