文件泄露小结

SVN

  • 工具:dvcs-ripper

  • svn log 查看历史版本信息 svn diff 修改的详细至行的信息 svn cat 获取特定版本的文件

  • SVN文件目录: truck 主干 branchers 分支目录 tags 重要版本的备份

扒一扒下载下来的.svn文件:其中 wc.db 是一个sqlite数据库,用SQLite打开(然后现学一手SQLite

sqlite wc.db
.databases //查看数据库
.tables //查看表
SELECT * FROM 表名  //提取数据

.DS_Store

macOS在目录中经常会生成这样隐藏的.DS_Store文件,没用过mac所以只能靠搜索引擎去了解这个文件

  • 包含内容:同目录下所有文件的清单

  • 实战:如果有文件泄露则可以直接url后加/.DS_Store

  • 相关工具:Python-dsstore (没用过,都是用的肉眼法找的flag

HG

  • Mercurial

  • 工具:dvcs-ripper

  • 实战:

将.hg文件通过工具下载下来后,若相关文件存在服务端的话,可以到 .hg/store/fncache 中寻找;如果文件已经被服务端删除,可以尝试从历史记录 .hg/store/data 中寻找

Git文件泄露

  • 工具:GitHack
  • git log 查看历史版本信息 git diff 版本对比
  • 可能存在泄漏目录: .git/HEAD (HEAD文件指向[目前所在分支]).git/config .git/refs/heads/master
  • .git文件目录结构

- git stash list 查看堆栈中是否存在暂存项目;产生的原因时在切换分支的时候当前分支内容没有完成,没有提交的内容暂时保存在堆栈区,导致文件泄露;git stash pop 确定stash中存在内容后将其弹出,这样操作会对当前分支产生修改,若不希望修改则可以直接查看 .git/refs/stash 中的内容

vim

  • 产生原因:使用vim创建文件时创建临时缓存文件,关闭vim后缓存文件会自动删除;但若未正常退出vim,则可以使用该缓存文件恢复内容

  • 文件后缀:

    • .swp
    • .swo
    • .swn

WEB-INF

  • WEB-INF是Java web应用的安全目录,如果想要在页面中直接访问某些文件,需要通过配置web.xml文件对相应文件进行映射才能访问。

  • WEB-INF目录

    • /WEB-INF/web.xml web应用配置文件
    • /WEB-INF/classes/ 包含了站点所用的class文件
    • /WEB-INF/lib/ 存放web应用所需的各种jar文件
    • /WEB-INF/src/ 源码目录
    • /WEB-INF/database.properties 数据库配置文件