培训教育行业网站建设方案,微信公众号怎么做链接网站,中小企业网站功能,做公司网站多钱一、源码(备份文件)泄露
1、git泄露
Git是一个开源的分布式版本控制系统#xff0c;在执行git init初始化目录的时候#xff0c;会在当前目录下自动创建一个.git目录#xff0c;用来记录代码的变更记录等。发布代码的时候#xff0c;如果没有把.git这个目录删除#xff…一、源码(备份文件)泄露
1、git泄露
Git是一个开源的分布式版本控制系统在执行git init初始化目录的时候会在当前目录下自动创建一个.git目录用来记录代码的变更记录等。发布代码的时候如果没有把.git这个目录删除就直接发布到了服务器上攻击者就可以通过它来恢复源代码
hook:存放一些sheel的地方。
info:存放仓库的信息
objects:存放所有git对象的地方
refs:存放提交hash的地方
config:github的配置信息
description仓库的描述信息主要给gitweb等git托管系统使用
HEAD:映射到ref引用能够找到下一次commit的前一次哈希值git泄露可以使用GitHack利用工具进行利用工具地址https://github.com/zwshi/GitHack.git
使用方法python GitHack.py http://www.example.com/.git/ 还原后的文件在 dist/ 目录下
例题1CTFHub-----log
1)扫描发现 .git 泄露
2)python GitHack.py 题目url/.git/
将源码clone到本地然后进入该目录
3)执行 git log 查看历史记录
4)git diff提交的记录码
注
查看历史记录git log
对比两次提交git diff
切换版本git reset例题2CTFHub----stash
同样先使用GitHack将git clone到本地然后查看
去查了一下资料
git stash
能够将所有未提交的修改工作区和暂存区保存至堆栈中用于后续恢复当前工作目录。
查看当前堆栈中保存的未提交的修改 使用git stash list
可看到add flag这个工作也被保存在了堆栈中所以只需要知道如何恢复就可以了
使用git stash apply恢复了一个txt文件查看得到flag
例题3CTFHub----index
这道题直接用githack工具clone到源码就得到flag了
但参考了一下大佬的wp发现考点其实是git的index暂存区文件
1)使用git ls-files查看暂存区里面有哪些文件
2)需要查看27741192706094.txt文件对应的Blob对象如下
git ls-files -s -- 27741192706094.txt或者直接 git ls-files -s3)然后通过Blob对象查询27741192706094.txt.txt里面的内容git cat-file -p 441a2
修复建议
删除.git目录或者修改中间件配置进行对.git隐藏文件夹的访问。
2、SVN泄露
使用svn版本控制系统时由于错误操作将.svn文件暴露在外网环境中即可利用该文件还原出服务器源码、SVN服务器账号密码等信息。
当svn使用了checkout命令后就会生成.svn文件里面存储着备份信息。
svn信息泄露漏洞主要利用了里面的entris文件通过.svn/entris可以下载里面的所有代码但是只能作用在svn1.6之前的版本在svn1.7后的版本引入一个名为wc.db的数据库数据存放文件来管理文件通过访问.svn/wc.db可以下载到本地。
利用工具dvcs-ripper 地址https://github.com/kost/dvcs-ripper 需要有svn和perl环境
例题ctfhub-svn
这里是svn1.7之后的版本我们下载wc.db文件/.svn/wc.db 使用SQLiteStudio打开发现flag_1831822206.txt文件访问之 我们使用dvcs-ripper工具https://github.com/kost/dvcs-ripper
perl rip-svn.pl -u http://challenge-8cad6507cc3f2aca.sandbox.ctfhub.com:10080/.svn/我们需要使用ls -al才可以看到隐藏的文件夹.svn
因为之前我们已经尝试了访问wc.db数据库里面的文件了但是发现flag.txt已经被删除了所以我们到缓存文件夹pristine文件夹里面去寻找flag,在8f文件夹里面获取到flag 3、hg源码泄露
Mercurial 是一种轻量级分布式版本控制系统hg在初始化代码库的时候会在当前目录下面产生一个.hg的隐藏文件
eg: http://www.example.com/.hg/
利用工具dvcs-ripper:https://github.com/kost/dvcs-ripper
使用
rip-hg.pl -v -u http://www.example.com/.hg/
如果没有设置系统变量需要
perl rip-hg.pl -u http://www.example.com/.hg/查看隐藏文件ls -al
例题—ctfhub-hg
直接用工具即可
4、DS_Store 文件泄露
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
eg: http://www.example.com/.ds_store/
利用工具
ds_store_exp: https://github.com/lijiejie/ds_store_exp
使用
查看隐藏文件ls -al例题---ctfhub-hg直接用工具即可##### 4、DS_Store 文件泄露.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。eg: http://www.example.com/.ds_store/利用工具ds_store_exp: https://github.com/lijiejie/ds_store_exp使用5、CVS泄露 CVS是一个C/S系统多个开发人员通过一个中心版本控制系统来记录文件版本从而达到保证文件同步的目的。主要是针对 CVS/Root以及CVS/Entries目录直接就可以看到泄露的信息。
eg:
http://url/CVS/Root 返回根信息
http://url/CVS/Entries 返回所有文件的结构利用工具dvcs-ripper https://github.com/kost/dvcs-ripper.git
使用
rip-cvs.pl -v -u http://www.example.com/CVS/6、GitHub源码泄漏
很多人喜欢把自己的代码上传到平台托管。通过关键词进行搜索可以找到关于目标站点的敏感信息甚至可以下载网站源码。
7、网站备份文件
常见的网站源码备份文件后缀
tartar.gzziprar
常见的网站源码备份文件名
webwebsitebackupbackwwwwwwroottemp
也可以直接用御剑扫描后台
8、vim缓存
vim会自动生成的备份文件以及临时文件
临时文件是在编辑文本时就会创建的文件如果程序正常退出临时文件自动删除如果意外退出就会保留文件名为.filename.swp第一次产生的交换文件名为“.filename.txt.swp”再次意外退出后将会产生名为.filename.txt.swo的交换文件而第三次产生的交换文件则为.filename.txt.swn
例题:CTFHub—vim缓存
二、中间件等其他信息泄露
1、phpinfo
有些网站可能未关闭调试功能存在调试页面比如访问phpinfo页面
phpinfo去过能被外部用户访问可能会造成的危害有
泄露网站真实ip
网站绝对路径泄漏或日志文件路径泄露可以写入shell
泄露一些特殊的应用信息和服务
一些敏感配置比如禁用的函数
php版本信息2、Apache-tomcat样例文件泄露 apache 的一些样例文件没有删除可能存在cookie、session伪造进行后台登录操作。常见的路径有
http://xxx.com/examples/servlets/servlet/CookieExample
http://xxx.com/examples/servlets/servlet/RequestHeaderExample
http://xxx.com/examples/jsp/snp/snoop.jsp
http://xxx.com/examples/async/async1例https://blog.csdn.net/alex_bean/article/details/87854752
3、WEB-INF/web.xml 泄露
WEB-INF是Java的WEB应用的安全目录如果想在页面中直接访问其中的文件必须通过web.xml文件对要访问的文件进行相应映射才能访问。
WEB-INF 主要包含一下文件或目录
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 文件推断 class 文件的路径最后直接 class 文件再通过反编译 class 文件得到网站源码。
4、tomcat tomcat 后缀改成大写会显示源码
只要把jsp文件后缀名改为大写就可以老版本
个人笔记可能有遗漏后续补充…