ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

web敏感文件泄露

2022-08-17 12:04:28  阅读:159  来源: 互联网

标签:web www 文件 -- com 敏感 泄露 example


FROM:
博客1
博客2

1、版本管理软件造成的泄露

(1)Git

关键文件

git在初始化项目的时候, 会在项目的根目录(可用git rev-parse --show-toplevel查看)创建一个名为.git的隐藏文件夹, 里面包含了本地所有commit的历史记录. 如果无意间将这个目录置于WEB的路径下让用户可以访问,
那么也就泄露了几乎所有的源代码和其他其他敏感信息.

泄露内容

该项目的所有源代码,私有仓库地址,私密配置信息等

利用方法

下载整个目录,用git命令回滚整个项目:

wget -r --no-parent --mirror http://www.example.com/.git
cd www.example.com && git reset --hard

自动化利用脚本:https://github.com/lijiejie/GitHack

GitHack.py http://www.openssl.org/.git/

(2)hg/Mercurial

用法与git相似,但也保留了svn命令简明的特点,且支持Windows/MacOS/Linux三大平台, 不像git需要MinGW才得以运行

关键文件

在初始化项目时,在项目根目录下创建一个名为.hg的隐藏文件,其中包含了代码和分支的修改记录和开发人员的相关信息

泄露文件

项目源代码、项目仓库地址、(可能)仓库用户名

利用方法

下载+回滚

wget -r --no-parent --mirror http://www.example.com/.hg
cd www.example.com && hg revert

(3)SVN/Subversion

关键文件

项目的根目录下会创建一个名为.svn的隐藏文件,包含了所有分支commit信息和代码记录

泄露文件

项目的源代码、svn仓库地址、svn仓库所属用户的用户名

利用方法

下载+回滚:

wget -r --no-parent --mirror http://www.example.com/.svn
cd www.example.com && svn revert --recursive .

工具:dvcs-ripper

(4)bzr/Bazaar

多平台支持,且有图形界面

关键文件

初始化项目时(bzr init/init-repo),根目录产生.bzr的隐藏目录,暴露了源代码和用户信息

泄露信息

源代码、仓库地址、开发者信息

利用方法

wget -r --no-parent --mirror http://www.example.com/.bzr
cd www.example.com && bzr revert

工具:dvcs-ripper

(5)CVS

年代比较久远的版本控制系统,通过它可以追踪源代码的历史变化记录。但因为功能简单,且不支持分支,被svn替代

关键文件

项目在初始化(cvs checkout project)的时候, 会在project目录下创建一个名为CVS的目录

其中保存了各个文件的修改和commit记录. 通过此目录可以获取代码的历史版本。其中两个关键文件为:

CVS/RootCVS/Entries, 分别记录了项目的根信息和所有文件的结构

利用方法

下载+CVS命令

wget -r --no-parent --mirror http://www.example.com/CVS
cd www.example.com && cvs diff *

工具:dvcs-ripper

2、文件包含导致的泄露(配置不当)

(1)**.DS_Store**文件泄露

.DS_Store是macOS目录下的隐藏文件,包含了当前目录结构和一些的自定义信息,如背景和图标位置等

在windows下类似的文件为desktop.ini暴露了.DS_Store文件也就相当于暴露了该目录下的所有内容。

利用方法

.DS_Store的格式为二进制,内部数据结构为Proprietary格式,可以自行解析并递归下载所有文件

(2)web-INF泄露

web-INF目录包含了所有web应用会用到但是不处于web路径中的资源,web应用可以通过getResource等API在servlet的上下文中访问到这些资源。

通常开发者会把许多JSP文件、Jar包、Java的类文件放在该目录下。

WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
WEB-INF/database.properties : 数据库配置文件
WEB-INF/classes/ : 一般用来存放Java类文件(.class)
WEB-INF/lib/ : 用来存放打包好的库(.jar)
WEB-INF/src/ : 用来放源代码(.asp和.php等)

利用方法

通过web.xml文件推测应用组件相关类的名字,然后在src目录下查找代码,如果没有源代码可以直接下载class文件反编译即可。

3、备份文件泄露

(1)网站根目录下的网站备份文件

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

tar -czvf bakup.tgz *

可被用户打包下载(常用文件名)+(常用压缩包后缀)

(2)编辑器修改文件的自动备份文件

SWP文件:.filename.swp

利用方法:直接访问.swp文件,下载后删去.swp获得源码文件

VIM缓存:index.php.swp

第一次产生的交换文件名为.filename.txt.swp;再次意外退出后,将会产生名为.filename.txt.swo的交换文件;第三次产生的交换文件.filename.txt.swn

4、配置文件泄露

可以通过网站框架文档获得重要配置文件路径

利用方法

识别网站指纹(框架类型)+重要配置文件测试(字典)

5、配置错误导致的泄露

(1)Windows IIS / Apache 目录穿越

程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以访问web根目录的上级从而遍历服务器上的任意文件。

虽然web服务器本身会禁止访问web文件夹以外的地方,但如果开发引入的动态页面,又没有过滤好用户输入,就可能会出现穿越甚至目录遍历。甚至web服务器本身也曾经有类似的漏洞。

利用方法

利用方法

(2)Nginx配置安全

Nginx配置安全

标签:web,www,文件,--,com,敏感,泄露,example
来源: https://www.cnblogs.com/zeroEMC/p/16594577.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有