• CTFHUB-技能树-Web-信息泄露


    地址:https://www.ctfhub.com/#/skilltree

    目录遍历

    题解:给了四个目录,遍历就可以找到flag

    PHPINFO

    预备知识

     phpinfo:输出 PHP 当前状态的大量信息,包含了 PHP 编译选项、启用的扩展、PHP 版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。

    phpinfo() 同时是个很有价值的、包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 数据的调试工具。

    题解:ctrl+f搜索flag就找到了

    备份文件下载

    漏洞产生原因:当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。

    一:网站源码

     题解:在URL后面加上/备份文件名加.加后缀,一个一个试,最后试出来www.zip,打开后看到一个txt文件,打开却没有flag,于是在url后面加上/txt文件名.txt得到flag

    二:bak文件

    预备知识

    bak文件泄露:有些时候网站管理员可能为了方便,会在修改某个文件的时候先复制一份,将其命名为xxx.bak。而大部分Web Server对bak文件并不做任何处理,导致可以直接下载,从而获取到网站某个文件的源代码。

    题解:直接在url后面加上index.php.bak然后打开下载的文件就可以看到flag,或者使用上篇博客讲到的curl命令:curl url/index.php.bak

    这里给出一道攻防世界的同样的题目:https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5064&page=1

    三:vim缓存

    预备知识

    vim:一款功能强大、高度可定制的文本编辑器,kali(黑客的武器库,建议在虚拟机里装一个)里面自带。

      在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容
      以 index.php 为例:第一次产生的交换文件名为 .index.php.swp,再次意外退出后,将会产生名为 .index.php.swo 的交换文件,第三次产生的交换文件则为 .index.php.swn
     
    wget:一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合。
    常用命令:
    下载单个文件-----wget http://ip:port/file
    指定保存名称-----wget -O 名称 http://ip:port/file
     
    题解:在kali中用wget命令下载交换文件.index.php.swp,然后用vim打开,R恢复就可以看到flag
    补充:利用curl访问即可直接看到flag,因为vim使用的缓存存储为一种固定格式的二进制文件。而我们一般编辑的可见字符在vim的缓存中会原样保留

    四:.DS_Store

    预备知识

    .DS_Store 文件利用 .DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。

    题解:这里先给出官方writeup:

    https://writeup.ctfhub.com/Skill/Web/%E4%BF%A1%E6%81%AF%E6%B3%84%E9%9C%B2/%E5%A4%87%E4%BB%BD%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD/28aeaed6.html

    我的方法:在kali-linux里面做,先用wget命令下载.DS_Store文件:wget url/.DS_Store,cat命令查看内容:cat .DS_Store,然后看到txt文件名,用curl命令查看内容:curl url/txt文件名

    注:可以直接在url的后面加上/.DS_Store下载文件,但是用cat命令查看的时候需要跳转到文件所在的目录下

    Git泄露

    漏洞产生原因:当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。

    预备知识:

    GitHack:一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等web安全漏洞。

    git命令的使用,可以参考https://www.yiibai.com/git

    一:Log

    题解:在kali中用git clone https://github.com/BugScanTeam/GitHack下载GitHack,然后在GitHack目录下用python GitHack.py url/.git下载文件,然后跳转到GitHack/dist/challenge......../git目录下,使用git log查看日志文件名,git show展示内容就看到flag了

    解释:git log命令用于显示提交日志信息;git show命令用于显示各种类型的对象。

    二:Stash

    题解

    -----python GitHack.py url/.git

    然后跳转到下载的文件目录下

    -----git stash list

    -----git stash pop

    -----cat txt文件名

    解释:git stash命令用于将更改储藏在脏工作目录中。

    git stash list显示git栈中的所有工作区内容的备份,git stash pop从git栈中获取到最近一次stash进去的内容,恢复工作区的内容,获取之后,会删除栈中对应的stash。

    三:Index

     题解:

    -----python GitHack.py url/.git

    跳转到下载文件目录下

    -----git show

    或者

    -----ls

    cat txt文件名

    SVN泄露

    漏洞产生原因:当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。

    预备知识

    dvcs-ripper的简单使用,可参考https://github.com/kost/dvcs-ripper

    题解

    //安装dvcs-ripper

    -----git clone https://github.com/kost/dvcs-ripper.git

    //安装相应的依赖包

    -----sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite4-perl libclass-dbi-perl libio-all-lwp-perl

    -----sudo apt-get install libparallel-forkmanager-perl libredis-perl libalgorithm-combinatorics-perl

    -----sudo apt-get install cvs subversion git bzr mercurial

    //漏洞利用

    -----cd dvcs-ripper

    -----rip-svn.pl -v -u url/.svn          注:如果输入命令后显示未找到命令,就在前面加上./,原因可能跟目录有关

    -----ls -all

    -----cd .svn进入.svn目录下

    接下来进行目录遍历,找到flag在pristine目录的4b目录下的文件里

    HG泄露

    漏洞产生原因:当开发人员使用Mercurial进行版本控制,对站点自动部署。如果配置不当可能会将hg文件夹直接部署到线上环境。这就引起了hg泄露漏洞。

    题解

    -----rip-hg.pl -u url/.hg          注:如果输入命令后显示未找到命令,就在前面加上./,原因可能跟目录有关

    -----ls -all

    -----cd .hg

    接着进行目录遍历,找到flag在fncache中的data/flag_xxxx.txt.i中,然后使用cat命令发现打不开,于是用curl命令查看url/flag_xxxx.txt看到flag

    参考:

    https://www.cnblogs.com/0yst3r-2046/p/12443346.html

    https://www.cnblogs.com/anweilx/p/12421753.html

    https://blog.csdn.net/qq_36898043/article/details/79431168

    转载请注明出处✔

  • 相关阅读:
    react的路由权限控制
    react的路由中的switch和exact的使用
    react中antd的表格自定义展开
    webstorm的git操作使用
    ES6的相关语法
    vue导出文件下载
    vue如何解析xml文件 x2js
    ES6模板字符串
    彻底卸载微软拼音输入法
    systemverilog新增的always_comb,always_ff,和always_latch语句
  • 原文地址:https://www.cnblogs.com/Web-Fresher/p/12813816.html
Copyright © 2020-2023  润新知