美文网首页CTF-WEB
CTFer成长之路-Web入门之信息收集

CTFer成长之路-Web入门之信息收集

作者: 余生似梦 | 来源:发表于2021-01-31 19:49 被阅读0次

    Nu1L战队官网:https://nu1l.com
    “空指针”高质量挑战赛:https://www.npointer.cn
    N1BOOK:https://book.nu1l.com

    信息收集

    敏感目录泄露

    git泄露

    常规泄露 https://github.com/denny0223/scrabble

    git回滚

    (flag在老的提交版本中)
    先利用scrabble工具获取源码,再通过git reset--hard HEAD^命令跳到上一版本,除了使用git reset,更简单的方式是通过git log-stat命令查看每个commit修改了哪些文件,再用git diff HEAD commit-id比较在当前版本与想查看的commit之间的变化。

    git分支

    https://github.com/WangYihang/GitHacker
    python GitHacker.py http://127.0.0.1:8000/.git/,本地看到生成的文件夹,进入后执行git log--allgit branch-v命令,只能看到master分支的信息。如果执行git reflog命令,就可以看到一些checkout的记录,除了master还有一个secret分支,但自动化工具只还原了master分支的信息,因此需要手动下载secret分支的head信息,保存到.git/refs/heads/secret中。
    执行命令wget http://127.0.0.1:8000/.git/refs/heads/secret

    修改GitHacker
    
    if __name__ == '__main__':
        baseurl = complete_url('')
        temppath = replace_bad_chars(get_prefix(baseurl))
        fixmissing(baseurl,temppath)
    

    git泄露的其他利用

    除了查看源码的常见利用方式,泄露的git中也可能有其他有用的信息,如.git/config文件夹中可能含有access_token信息,从而可以访问这个用户的其他仓库。

    SVN泄露

    https://github.com/kost/dvcs-ripper
    Seay-svn
    SVN(subversion)是源代码版本管理软件,造成SVN源代码漏洞的主要原因是管理员操作不规范将SVN隐藏文件夹暴露于外网环境,可以利用.svn/entries或wc.db文件获取服务器源码等信息。

    HG泄露

    在初始化项目时,HG会在当前文件夹下创建一个.hg隐藏文件夹,其中包含代码和分支修改记录等信息。
    https://github.com/kost/dvcs-ripper

    总结经验

    不论是.git这些隐藏文件,还是实战中的admin之类的敏感后台文件夹,其关键在于字典的强大,读者可以在某些工具的基础上进行二次开发,以满足自己需要。
    https://github.com/maurosoria/dirsearch

    CTF线上比赛往往会有重定向一类问题。例如,只要访问.git,便会返回403,此时试探着访问.git/config,如果有文件内容返回,就说明存在git泄露,反之,一般不存在。而在SVN泄露中,一般是在entries中爬取源代码,但有时会出现entries为空的情况,这时注意wc.db文件存在与否,便可通过其中的checksum在pristine文件夹中获取源代码。

    敏感备份文件

    gedit备份文件

    在Linux下,用gedit编辑器保存后,当前目录下会生成一个后缀为“~”的文件,其文件内容就是刚编辑的内容。通过浏览器访问这个带有“~”的文件,便可以得到源代码。

    vim备份文件

    当用户在编辑文件但意外退出时,会在当前目录下生成一个备份文件,文件名格式为:.文件名.swp,该文件用来备份缓冲区中的内容即退出时的文件内容。
    针对SWP备份文件,我们可以用vim -r命令恢复文件的内容。
    vim在第一次意外退出时生成的备份文件为.swp,第二次意外退出时的为.swo,第三次退出时的为*.swn,以此类推。

    常规文件

    常规文件所依靠的无非就是字典的饱和性,不论是CTF比赛中还是现实世界中,我们都会碰到一些经典的有辨识的文件,从而让我们更好地了解网站。
    ❖ robots.txt:记录一些目录和CMS版本信息。
    ❖ readme.md:记录CMS版本信息,有的甚至有Github地址。
    www.zip/rar/tar.gz:往往是网站的源码备份。

    Banner识别

    1.Github上成型扫描器对网站进行识别
    2.Wappalyzer

    相关文章

      网友评论

        本文标题:CTFer成长之路-Web入门之信息收集

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