web-信息泄露

1、git泄露

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

.git文件夹分析

hook:存放一些sheel的地方。
info:存放仓库的信息
objects:存放所有git对象的地方
refs:存放提交hash的地方
config:github的配置信息
description:仓库的描述信息,主要给gitweb等git托管系统使用
HEAD:映射到ref引用,能够找到下一次commit的前一次哈希值

可以使用GitHack利用工具进行利用

工具地址https://github.com/zwshi/GitHack.git

使用方法:python GitHack.py http://www.example.com/.git/

还原后的文件在 dist/ 目录下

更详细原因参考:https://blog.csdn.net/qq_36869808/article/details/88909961?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

例题1:CTFHub-----log

1)扫描发现 .git 泄露

2)python GitHack.py 题目url/.git/

将源码clone到本地,然后进入该目录

3)执行 git log 查看历史记录

4)git diff 提交的记录码

注:

查看历史记录:git log
对比两次提交:git diff
切换版本:git reset

例题2:CTFHub----stash

同样先使用GitHack将git clone到本地,然后查看

去查了一下资料:

git stash

能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。

查看当前堆栈中保存的未提交的修改 使用git stash list

可看到add flag这个工作也被保存在了堆栈中,所以只需要知道如何恢复就可以了

使用git stash apply 恢复了一个txt文件,查看得到flag

例题3:CTFHub----index

这道题直接用上面的方法能直接得到flag,就是用过githack工具clone到源码就得到flag了

但参考了一下大佬的wp,发现考点其实是git的index暂存区文件

1)使用git ls-files查看暂存区里面有哪些文件

2)需要查看27741192706094.txt文件对应的Blob对象,如下:

git ls-files -s -- 27741192706094.txt或者直接 git ls-files -s

3)然后通过Blob对象,查询27741192706094.txt.txt里面的内容:git cat-file -p 441a2

修复建议

删除.git目录或者修改中间件配置进行对.git隐藏文件夹的访问。

2、SVN泄露

例题----ctfhub-svn

svn泄露,svn我们首先下载wc.db文件,主要知识点:

当svn使用了checkout命令后就会生成.svn文件,里面存储着备份信息。svn信息泄露漏洞主要利用了里面的entrist文件,通过.svn/entrist可以下载里面的所有代码,但是只能作用在svn1.6之前的版本;第二个是作用在svn1.7后的版本,svn1.7后的版本引入一个名为wc.db的数据库数据存放文件来管理文件,通过访问.svn/wc.db可以下载到本地。

这里是svn1.7之后的版本,我们下载wc.db文件,/.svn/wc.db

使用SQLiteStudio打开,发现flag_1831822206.txt文件,访问之

访问的时候是404,应该是被删除了,我们使用dvcs-ripper工具:https://github.com/kost/dvcs-ripper

在linux的环境下使用,以及我们需要先下载svn环境,还有perl环境,不然会运行不了dvcs-ripper

然后我们使用

perl rip-svn.pl -u http://challenge-8cad6507cc3f2aca.sandbox.ctfhub.com:10080/.svn/

命令来clone svn文件

我们需要使用ls -al才可以看到隐藏的文件夹.svn

cd进去再ls -al

因为之前我们已经尝试了wc.db数据库里面的文件了,但是发现flag.txt已经被删除了,所以我们到缓存文件夹pristine文件夹里面去寻找flag,在8f文件夹里面获取到flag

3、.hg源码泄露

例题---ctfhub-hg

Mercurial.hg 源码泄露 hg在初始化代码库的时候,会在当前目录下面产生一个.hg的隐藏文件

eg:

http://www.example.com/.hg/

工具:

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

4、备份文件下载

常见的网站源码备份文件后缀


  • tar
  • tar.gz
  • zip
  • rar

常见的网站源码备份文件名


  • web
  • website
  • backup
  • back
  • www
  • wwwroot
  • temp

也可以直接用御剑扫描后台

例题1----CTFHub---网站源码

御剑直接扫到www.zip,下载,找到.txt文件,发现里面没有flag,后面看了wp才知道直接在浏览器访问该txt文件就得到flag了

例题2----CTFHub---bak

提示:Flag in index.php source code.

则直接访问index.php.bak,下载得到flag

例题3----CTFHub---vim缓存

提示:

参考博客:https://www.cnblogs.com/leixiao-/p/9748685.html

vim会自动生成的备份文件以及临时文件

临时文件是在编辑文本时就会创建的文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,文件名为 .filename.swp,(第一次产生的交换文件名为“.filename.txt.swp”;再次意外退出后,将会产生名为.filename.txt.swo的交换文件;而第三次产生的交换文件则为.filename.txt.swn

所以直接访问.index.php.swp下载打开得到flag

例题4----CTFHub---.DS_Store

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

提示是.DS_Store,则直接访问.DS_Store,下载

打开发现里面有一句.txt,去掉中间的空格,访问该txt文件得到flag

5、phpinfo

phpinfo去过能被外部用户访问,可能会造成的危害有:

泄露网站真实ip
网站绝对路径泄漏或日志文件路径泄露,可以写入shell
泄露一些特殊的应用信息和服务
一些敏感配置,比如禁用的函数
php版本信息

详情可以百度谷歌。

例题1----CTFHub---phpinfo

发现进去直接就能访问到phpinfo,直接ctrl+f搜flag,得到flag

6、目录遍历

目录遍历(路径遍历)是由于web服务器配置错误,或者web应用程序对用户输入的文件名称的安全性验证不足而导致的一种安全漏洞,使得攻击者通过利用一些特殊字符就可以绕过服务器的安全限制,访问任意的文件(可以使web根目录以外的文件),甚至执行系统命令。

例题----CTFHub---目录遍历

这道题感觉出的有问题,直接随便点点文件夹就得到了flag

web-信息泄露基础知识总结(持续更新)的更多相关文章

  1. 数据库和SQL面试题基础知识(持续更新)

    数据库方面基础知识复习 常问小问题: 一.like查询大小写问题: sql查询结果去重 SELECT distinct name FROM 表:平均数avg 一.like查询大小写问题: ①用bina ...

  2. C++ 基础知识汇总 持续更新

    摘录一些C++面试常考问题,写一些自己的理解,花了挺长时间的,作图是真的累,欢迎来摘果子. static关键字 用于声明静态对象: 静态函数只在本文件可见.(默认是extern的) 全局静态对象:全局 ...

  3. Python 基础知识 (1) 持续更新

    (1)数字和表达式 当进入Python交互式的时候,Python就可以直接当成计算机使用 如 >>> 2 + 2 4 但是 当 1个整数 和 另外一个整数 相除的时候,计算的结果,只 ...

  4. Python 基础知识(持续更新中)

    内置数据类型:     整型     浮点型     字符串     布尔值     空值 None     列表 list     元组 tuple     字典 dict     集合 set   ...

  5. Java基础知识(持续更新中...)

    1.成员变量:全局变量/字段(Field),不要称之为属性(错误)直接定义在类中,方法外面 1.类成员变量    使用static修饰的变量 2.实例成员变量 没用使用static修饰的变量 局部变量 ...

  6. SDK 上报信息 史上最全 持续更新

    SDK 上报信息 史上最全 持续更新 接入SDK总会遇到各种需求,有些SDK巴不得把玩家信息全部上报到他们服务器! 以下是我接SDK遇到的, 欢迎大家补全. 上报事件 注册(按道理这个应该是SDK的功 ...

  7. Web前端之基础知识

    学习web前端开发基础技术须要掌握:HTML.CSS.Javascript 1.HTML是网页内容的载体 内容就是网页制作者放在页面上想要让用户浏览的信息,能够包括文字.图片.视频等. 2.CSS样式 ...

  8. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  9. [JavaCore] 不错的Java基础学习资料-持续更新

    容易弄混的JAVA基础知识: http://www.iteye.com/topic/943647 [总结]String in Java: http://www.iteye.com/topic/5221 ...

随机推荐

  1. python-CSV格式清洗与转换、CSV格式列变换、CSV格式数据清洗【数据读入的三种方法】【strip、replace、split、join函数的使用】

    1)CSV格式清洗与转换 描述 附件是一个CSV格式文件,提取数据进行如下格式转换:‪‬‪‬‬‪‬‮‬‪‬‭‬ (1)按行进行倒序排列:‪‬‪‬‪‬‪‬‪‬‮‬‬‪‬‮‬‪‬‭‬ (2)每行数据倒序排 ...

  2. mssql手工盲注

    遇到中文的列名 利用unicode 进行单字节的转换 declare @s varchar(50);set @s = N'拉';select UniCode(@s),nchar(UniCode(@s) ...

  3. 最短路 西北大学2019年春季校赛 ( 重现赛 ) 房间迷宫 求一个数的所有的约数nlogn

    题目:https://www.cometoj.com/contest/33/problem/G?problem_id=1461(密码:jwjtxdy) 学习一下 求一个数的约数 复杂度n*logn # ...

  4. 【FPGA篇章六】FPGA编译向导:详解编译预处理功能

    欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 Verilog HDL语言和C语言一样也提供了编译预处理功能. Verilog HDL允许在程序中使用特殊的编译预处理语句. 在编译时,通常 ...

  5. C# 判断文件格式的一些总结

    前提概述: 项目中 经常会有上传图片的地方  有的时候需要对图片类型做一些要求   这个时候就需要一些判断   虽然前段上传的时候可以去做类型的限制  或者后台接受的时候从file的type 中获取图 ...

  6. STM32 CubeIDE无法进行调试的问题

    解决了由于一个很容易忽视的细节最终导致系统配置存在错误造成STM32 CubeIDE无法进行调试的问题: 文章目录 来龙去脉 解决方案 反思 来龙去脉 在享受CubeIDE快速和便捷的服务之后,生成了 ...

  7. 新创建的项目AndroidManifast报App is not indexable by Google Search;

    原错误提示:App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VI ...

  8. 嫌弃Apriori算法太慢?使用FP-growth算法让你的数据挖掘快到飞起

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第20篇文章,我们来看看FP-growth算法. 这个算法挺冷门的,至少比Apriori算法冷门.很多数据挖掘的教材还会 ...

  9. 力扣题解-面试题10- II. 青蛙跳台阶问题

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008, ...

  10. VMware如何克隆一个虚拟机

    如何在Vmware克隆一个虚拟机,并修改哪些配置. 克隆虚拟机步骤 其中模板虚拟机的安装部署可参见:「VMware安装Linux CentOS 7.7系统」 找到克隆的模板机,并选择克隆. 进入克隆虚 ...