寒假学web--day01

简介

今天学习的主要内容为信息泄露相关的知识

信息泄露的介绍与类型

文件泄露可以达到中危甚至高危

泄露的类型有:

  1. 版本软件泄露:.git,svn,bzr,CVS
  2. 敏感文件泄露:robots.txt,www.zip,静态文件注释泄露
  3. 配置错误信息泄露:DS_Store,WEB_INF,Apache/Nginx错误配置

这里只是一些可能的情况,不要过于死板,可以灵活进行尝试,试错成本不高

利用

        基于路由与基于文件

                /admin与/admin/是有区别的

                /admin/表示访问的是admin目录,会访问admin目录里面的索引文件,比如index.html,index.php,后者表示访问的是admin文件,不会去寻找索引文件,如果admin文件不存在,会直接返回404

但是一些情况下,加不加后面的/都能访问到/admin/,这是因为在配置文件中进行了设置

注意:不能因为访问index.php成功,就认为该网站是基于文件的,服务器端可能不一定将路由绑定在要解析的文件上,而是绑定到返回结果上

状态码

        200--正常

        301 302--重定向

        403--权限问题,目录存在,但不能访问

        404--文件不存在

        500--服务器内部错误

        502--表示转发失败

报错信息泄露

        通过让网站报错,返回的错误信息中,可能会泄露一些敏感信息

robots.txt

        爬虫协议,规矩了哪些内容可以爬取,哪些不可以爬取,但并不具备强制约束力

        具有此地无银三百两的效果,会告诉攻击者该网站存在哪些路径

.git文件泄露

        git是一个版本控制器系统,用于多名开发人员共同开发某一项目

        git泄露出现在开发人员提交代码的时候,有两个参数,一个是要提交的文件名称,一个是文件的内容,如果我们获取到了提交记录,就间接获取到了某个版本的文件内容,如果我们运气够好,这刚好是最后一次的提交记录,那我们就拿到了最终版的文件内容

        恰好这个保存提交记录的文件夹名字为.git,在linux中是一个隐藏文件,如果开发人员不注意,就会在ctrl+a的时候复制到web目录,我们就可以使用githack这个工具来获取提交的文件内容

        下载地址

                https://github.com/GitHack

                需要配置python环境

        githack使用方法

                在githack-master目录下进入cmd,执行

python .\GitHack.py -u "http://xxxx/.git/"

注意:必须要访问/.git/,会在githack-master目录下生成一个以该url命名的文件夹

原理:解析.git/index文件,去.git/objects/文件夹下下载对应的文件,然后解压文件,按原始的目录结构写入源代码

CTF中对于信息泄露的考察

在ctf比赛中,这方面的考察难度通常偏低,常见的类型有:

  1. robots.txt泄露
  2. .git/svn泄露(访问.git或者.svn目录出现403)
  3. 页面注释泄露,http头泄露
  4. 任意文件下载造成的信息泄露(可以下载WEB-INF文件夹里的内容)
  5. 开源社区信息泄露,比如泄露出项目名称,同时可以在GitHub,gitee等平台上找到整个项目的代码
  6. 使用vim异常退出,可能存在类似.index.php.swp的临时文件
  7. 一些冷门的信息泄露:.DS_Store泄露,nginx错误配置导致的文件泄露
posted @ 2025-01-16 23:51  onehang  阅读(9)  评论(0)    收藏  举报  来源