Tags: misc dump git 

Rating: 0

## 25 - huuuuuge - Misc

> Written by Alaska47
> Don't think too deep.

It looks like a git repository.

$ nmap -p 80,443,22
Starting Nmap 7.70 ( https://nmap.org ) at 2018-08-09 19:48 CEST
Nmap scan report for (
Host is up (0.12s latency).

22/tcp open ssh
80/tcp closed http
443/tcp filtered https

Nmap done: 1 IP address (1 host up) scanned in 1.95 seconds

HTTP ports are closed or filtered so we are only able to use git on ssh.

$ git clone git:// repo-root

Useless, that not the good repository.

Let's try the good one:

$ git clone git:// repo-huge
Cloning into 'huuuuuge'...
remote: Counting objects: 309, done.
remote: warning: suboptimal pack - out of memory
remote: fatal: Out of memory, malloc failed (tried to allocate 104857601 bytes)
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed

Now we know why it is called `huuuuuge`. We need to find a way to clone just a part of the repository.

Let's see how many branches there are.

$ git ls-remote git://
7282da7e145e269d175dfcceb38b0739a8fa90e7 HEAD
7282da7e145e269d175dfcceb38b0739a8fa90e7 refs/heads/master

So we have only one branch (`master`).

I found an Atalassian article about dealing with huge git repository.

[How to handle big repositories with Git ](https://www.atlassian.com/blog/git/handle-big-repositories-git)

> The first solution to a fast clone and saving developer’s and system’s time and disk space is to copy only recent revisions. Git’s shallow clone option allows you to pull down only the latest n commits of the repo’s history.

$ git clone --depth 1 git:// repo-huge
Cloning into 'repo-huge'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

$ cd repo-huge

$ cat flag.txt