信息收集----目录扫描搜集与Git收集信息

目录

一.目录扫描

1.什么是目录扫描

2.本地文件包含LFI漏洞

3.常见敏感目录和文件

4.文件扫描思路

5.文件扫描字典

6.文件扫描工具

7.防御

二.Git信息收集

1.什么是版本控制系统

2.Git工作区划分 

3.Git信息泄露原理

4.Git信息泄露利用方式

.git中有用的内容有哪些:

5.Github搜索技巧

6.Git仓库利用流程和工具

怎么找.git文件

将.git下载下来

下载后用git命令获取内容

自动化进行下载和获取内容的工具 

7.案例演示


一.目录扫描

1.什么是目录扫描

部署的网站有一些敏感文件:配置文件(xxx.config),数据文件(xxx.sql),特殊目录(/backup,/config,/admin)

这些文件不应该被访问,但因为网站配置错误,被有心人利用了

会泄露哪些信息:数据库用户名和密码,服务器的用户名和密码,数据库文件

2.本地文件包含LFI漏洞

为什么泄露:

1.本地文件包含:local file inclusion(LFI)

为什么会出现本地文件包含:在php中,有一些公共文件时通用的,引用了include,require函数

如果include没有做限制,那么可能所有的文件都会被include给泄露出来

3.常见敏感目录和文件

知道哪些文件有作用才知道要找什么文件

1.robots.txt

不同的系统robots.txt的语法不同

或者说哪些文件不让爬虫访问,就说明这些文件可能就是比较重要的文件

4.文件扫描思路

直接在域名后面拼接路劲/文件名,如果返回200,就是存在

扫描方法:

1.递归:dir xxx        如果是文件夹,就访问文件夹下的内容

2.字典:依赖于制作好的字典

3.暴力破解:ascii 33~126(94位)

4.爬虫模式:

5.fuzz(模糊测试):字典,fuzz更没有规律的字典

5.文件扫描字典

kali中输入

wordlists

查看kali自带字典

6.文件扫描工具

1.dirb(kali自带的)

使用方法:dirb 域名

查看使用文档:man dirb 

2.kali中图形化工具:dirbuster

在xshell中是用不了,在kali虚拟机中使用

基本上已经过时了,玩玩就好

3.Burp Suite

intruder设置payload后可以进行暴力破解

www.baidu.com/$??$

4.其他的一些工具

DirBrute

Dirsearch

Dirmap

wfuzz

注意:当你扫描目标服务器时,会产生大量的http/https服务请求,可能会被对方给拦截/拉黑

解决:不停的换代理,进行绕过;网络空间搜索引擎去找现成结果

7.防御

设置权限:其他用户组不可读

直接删除敏感文件,别放在根目录下

过滤关键字,拦截服务

二.Git信息收集

1.什么是版本控制系统

版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。 用的比较多的如svn,git等。

比如说,客户有个需求,第一版不满意,一直要求改,改到第七版时又说不如就第一版的吧,这时候如果你第一版的没保存就会有大问题。

一个人开发还好,如果是几百个人一起开发,管理起来就不容易

为了让不同系统上的开发者能够协同工作,集中化的版本控制系统应运而生

自动合并不冲突的内容,如果产生了冲突的内容,会标记冲突的内容。

流行的产品:

1.svn工作原理

集中化的vcs

总共就一个仓库,服务器挂了就没了

2.Git 

去中心化:分布cvs

每人一个仓库,写好了提交

即使服务器挂了,代码在开发人员的本地库中还保存着

2.Git工作区划分 

工作原理:

1.下载git

Git (git-scm.com)

2.安装好后

新建文件夹
在文件夹下鼠标右键选择git bash here后弹出git命令行
 

git的常用命令
git init        初始化仓库

git add ?        将工作区文件添加到暂存区,对应.git文件夹下的index文件,如图1
?可以为 文件名后 . (所有文件)

git commit -m "留言"    将暂存区提交到分支中(还在本地仓库中)
commit需要提前配置好github的账号

git push 仓库名 分支     将本地仓库提交到远程仓库

图一:

3.Git信息泄露原理

方便就会带来安全问题,可能出现信息泄露的方式:

1.将私有仓库/隐私文件提交到了Github

2.部署项目的时候,不小心把.git文件一起打包进去,放到web网站下,如.java,.class

4.Git信息泄露利用方式

.git中有用的内容有哪些:

.git/logs/HEAD:存储了git的log信息,可以找到历史的commit信息

.git/index:缓存git add的文件,暂存区

.git/refs/stash:        git stash 把代码存入缓存区

.git/refs/heads/master:记录了master的commit的hash(通过利用hash可以将最新版本的所有代码还原出来)

.git/objects/pack/.pack

5.Github搜索技巧

kali in:file    搜索文件中包含kali的代码
kali in:path    搜索路径中包含kali的代码
kali in:path,file    搜索路径,文件中包含kali的代码

filename:config.php language:php 搜索config.php文件,且语言为php

kali topics:>5 标签数量大于5
kali size:<1000    文件大小小于1000的(找字典文件)
kali stars:10..50    收藏数量在10到50间
kali pushed:>2021-08-25    搜索在2021年8月15号之后的
kali create:>=2021-06-01    创建时间
kali pushed:<2021-01-01 -language:java (-表示不要)

6.Git仓库利用流程和工具

怎么找.git文件

通过目录扫描扫

看robots.txt ,反向去看有没有.git

搜索引擎 intitle:"Index of /.git"

将.git下载下来

工具:(第一个是用的最多的)

BugScanTeam/GitHack: .git 泄漏利用工具,可还原历史版本 (github.com)

lijiejie/GitHack: A `.git` folder disclosure exploit (github.com)

WangYihang/GitHacker: 🕷️ A Git source leak exploit tool that restores the entire Git repository, including data from stash, for white-box auditing and analysis of developers' mind (github.com)

WangWen-Albert/JGitHack (github.com)

下载后用git命令获取内容

git log
git reset --hard[log hash]     log hash 在log文件中
git diff    比较几个版本的区别

自动化进行下载和获取内容的工具 

gakki429/Git_Extract: 提取远程 git 泄露或本地 git 的工具 (github.com)

7.案例演示

ctfhub :       技能树-web-信息泄露-Git泄露

buuctf   :        禁止套娃,Mark loves cat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jjj34

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值