CTF中的信息泄露

服务器之前没咋用,后面的时间应该也没啥时间用了,就没续费了,GitHub page 直接上传图片访问速度又很慢,主题出bug也懒得折腾了,想来还是直接在csdn上写方便很多,也不用重新找图床啥的,之前有很多没写完的笔记,现在有时间也慢慢整理总结下。

一般先用dirmap扫一下,看下有没有信息泄露,CTF中不太建议用御剑的那些字典,很多没用的不必要扫

python3 dirmap.py -i https://target.com -lcf

网站备份文件

在网站的使用过程中,往往需要对网站中的文件进行修改、升级。此时就需要对网站整站或者其中某一页面进行备份。当备份文件或者修改过程中的缓存文件因为各种原因而被留在网站web目录下,而该目录又没有设置访问权限时,便有可能导致备份文件或者编辑器的缓存文件被下载,导致敏感信息泄露,给服务器的安全埋下隐患。

比如扫到www.zip等,这种一般是出题人直接给代码让你审计了

其它格式

  • .rar
  • .zip
  • .7z
  • .tar.gz
  • .bak
  • .txt
  • .old
  • .temp

vim文件

程序员使用vim编辑器编写一个index.php文件时,会有一个.index.php.swp文件,如果文件正常退出,则该文件被删除,如果异常退出,该文件则会保存下来,该文件可以用来恢复异常退出的index.php,同时多次意外退出并不会覆盖旧的.swp文件,而是会生成一个新的,例如.swo文件。

以 index.php 为例 第一次产生的缓存文件名为 .index.php.swp
第二次意外退出后,文件名为.index.php.swo
第三次产生的缓存文件则为 .index.php.swn
注意:index前有 “ . “

可以用vim的时候试一下,一般都是swp,但有次比赛遇到了swo

恢复文件vim -r 恢复的文件名

默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件,某些情况下可以对其下载进行查看

git源码泄漏

能扫描到以下目录

http://url/.git/
http://url/.git/config

Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。

利用GitHack进行信息读取:

python GitHack.py http://url/.git/

或者dvcs-ripper

rip-git.pl -v -u http://url/.git

git相关命令

git log可以查看提交历史
git diff查看git提交的不同处
stash命令可用于临时保存和恢复修改,可跨分支
git stash list查看所有保存的记录列表
git stash pop,从 git 栈中弹出来一个文件

hg泄露

能扫到

http://url/.hg/

与git类似, hg在初始化项目时, 会在项目的根目录下创建一个名为.hg的隐藏文件夹,里面包含了代码和分支的修改记录和开发人员的相关信息. 当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。

dvcs-ripper

rip-hg.pl -v -u http://url/.hg

SVN 源码泄露

能扫到以下目录

http://url/.svn/entries

SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。

dvcs-ripper

rip-svn.pl -v -u http://www.example.com/.svn/

bzr/Bazaar泄露

能扫到

http://url/.bzr/

bzr也是个版本控制工具, 在初始化项目时(bzr init/init-repo), 会在项目根目录产生名为.bzr的隐藏目录, 同样暴露了源代码和用户信息.

dvcs-ripper

rip-bzr.pl -v -u http://www.example.com/.bzr/

CVS泄漏

能扫到

http://url/CVS/Root 返回根信息 
http://url/CVS/Entries 返回所有文件的结构

cvs项目在初始化(cvs checkout project)的时候, 会在project目录下创建一个名为CVS的目录,
其中保存了各个文件的修改和commit记录. 通过此目录可以获取代码的历史版本. 其中两个关键文件为:
CVS/RootCVS/Entries, 分别记录了项目的根信息和所有文件的结构

dvcs-ripper

rip-cvs.pl -v -u http://www.example.com/CVS/

DS_Store 文件泄露

能扫到

http://url/.DS_Store

.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。

dsstoreexp

python ds_store_exp.py http://url/.DS_Store

WEB-INF/web.xml泄露

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

通常一些web应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用这种架构的时候,由于对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。

WEB-INF主要包含一下文件或目录:

  • /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
  • /WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
  • /WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
  • /WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
  • /WEB-INF/database.properties:数据库配置文件漏洞检测以及利用方法

利用:

通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码。

http://url/WEB-INF/web.xml

GitHub源码泄漏

https://github.com/search?q=smtp+user+@qq.com&type=code
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值