美文网首页
从0到1CTF笔记--WEB--信息搜集--敏感目录泄漏

从0到1CTF笔记--WEB--信息搜集--敏感目录泄漏

作者: Leena_c9a7 | 来源:发表于2021-09-24 17:02 被阅读0次

    0x01 信息搜集

    git泄漏

    git泄漏我理解拿到了就是白盒测试,因为可以下载源码了,源码泄漏感觉还是挺严重的,虽然我比较菜现在拿到源码也不知道能干啥。

    (1)常规git泄漏

    工具:scrabble 下载链接
    用法直接./scrabble http://xxxx 相对花里胡哨的工具来说还是very easy的!

    (2)git回滚

    回滚的原因是,有可能修改或者删除掉了,就需要查看原来的版本。然后这时候需要你用scrabble下载之后然后再git reset跳到历史版本,那么上一版本的话命令是git reset--hard HEAD^,现版本是HEAD,上一版本是HEAD^,注意一波就好啦。
    然后还有一个命令可以用,这个更简单啦,就是git log-stat这个可以查看每一次修改他修改了哪些文件,然后还可以比较当前版本与之前的某一修改之间的变化,命令是git diff HEAD commit-id。哦对了,我们把每次的提交叫做commit,有些命令可能会遇到不要不认识啦。

    (3)git分支

    这个分支的概念,我理解就好像是一棵树,有主干也会有枝杈,主干的话默认叫做master,有时候flag不会在主干上面,就是可能会在分支上,这里有个命令git log,可以查看提交历史,不过这个命令只能看到当前分支的修改,如果在其他分支的话这个命令是看不到哒,现有的git泄漏工具大多数都不支持分支,需要手动去进行文件的提取。
    GitHacker为例,用法就是python GitHacker.py --url http://xxxx/.git/ --folder 文件绝对路径

    如果想要查看其他分支的提交历史你需要

    运行过GitHacker那个命令(python GitHacker.py --url http://xxxx/.git/ 
    --folder 文件绝对路径)过后,会在本地看到生成的文件夹,然后在该目录
    下执行命令git log--all或者git branch-v,这样可以看到master分支的信
    息。如果执行git reflog命令,可以看到一些checkout的记录,可能会看
    到其他分支的信息,然后这样这样再那样那样,就得到flag了(你是在糊弄鬼吗啊喂)
    
    好吧再开一个,如果看到其他分支的信息,是需要手动下载分支的head信息的,会保存到.git/refs/heads/secret里面。
    

    (执行命令 wget http://127.0.0.1:8000/.git/refs/heads/xxx分支名字) 深谙看不懂的就抄下来的秘诀啊。然后回复head信息过后,修改一部分GitHacker代码,书上说是直接复用fixmissing函数,注释掉程序最后调用的main部分修改为这样

    图片.png

    之后再执行GitHacker.py,运行脚本后再次进入到生成的文件夹里执行git log--all或者git branch-v,分支信息就可以恢复了,从gitlog里面找到对应提交的hash,执行git diff HEAD b94c(hash的前4位),即可得到flag。

    (4)git泄漏的其他应用

    泄漏的git中可能有其他有用的信息,比如.git/config文件夹中可能含有access_token信息,从而可以访问这个用户的其他仓库。

    SVN泄漏

    SVN是源代码版本管理软件,可以用.svn/entries或者wc.db文件获取服务器源码等信息。工具:https://github.com/kost/dvcs-ripper和Seay-svn(windows下的)。

    HG泄漏

    初始化项目时,HG会创建一个.hg的隐藏文件夹,其中包含代码和分支修改记录的,上述dvcs-ripper那个工具支持这个。

    一点感想

    感觉源代码泄漏这块儿,以上提到的几个能不能发现完全看你字典硬不硬。小菜鸡瑟瑟发抖,好多东西都没咋接触过,就只能抄作业这样子,好啦今天到这吧,end。

    相关文章

      网友评论

          本文标题:从0到1CTF笔记--WEB--信息搜集--敏感目录泄漏

          本文链接:https://www.haomeiwen.com/subject/cnbiwltx.html