Tags: misc dump git
Rating:
## 25 - huuuuuge - Misc
> Written by Alaska47
>
> Don't think too deep.
>
> 104.154.187.226/huuuuuge
It looks like a git repository.
```
$ nmap -p 80,443,22 104.154.187.226
Starting Nmap 7.70 ( https://nmap.org ) at 2018-08-09 19:48 CEST
Nmap scan report for 226.187.154.104.bc.googleusercontent.com (104.154.187.226)
Host is up (0.12s latency).
PORT STATE SERVICE
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://104.154.187.226/.git repo-root
```
Useless, that not the good repository.
Let's try the good one:
```
$ git clone git://104.154.187.226/huuuuuge/.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://104.154.187.226/huuuuuge/.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://104.154.187.226/huuuuuge/.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
tjctf{this_fl4g_1s_huuuuuge}
```