---
# System prepended metadata

title: PicoCTF - like1000
tags: [PicoCTF, Misc, CTF]

---

# PicoCTF - like1000
###### tags: `PicoCTF` `CTF` `Misc`
Challenge: [like1000]()

## Background
[How to extract nested tar.gz files easily?](https://stackoverflow.com/questions/2778153/how-to-extract-nested-tar-gz-files-easily)
[Shell Script - While](https://ithelp.ithome.com.tw/articles/10132603)

## Exploit - Untar 1000 times
* For untar folders
    ```bash!
    #! /bin/bash
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH
    file_name=1000
    for next in ${file_name}.tar
    while [ $file_name > 1 ]
        do
            echo "Untaring - $file_name"
            tar -xvf ${file_name}.tar #-C ./
            file_name=$(($file_name-1))
            mkdir ./$file_name
            mv ${file_name}.tar ./$file_name
            cd ./${file_name}
        done
    ```
* For getting flag
    ```bash!
    #! /bin/bash
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH
    file_name=999
    while [ "$file_name" > "0" ]
        do
            cd ./${file_name}
            file_name=$(($file_name-1))
            if [ "$file_name" == "0" ]
                then ls -al
                cat filler.txt
                mv flag.png ~/CTF/PicoCTF/Misc/like1000
            fi
        done
    exit 0
    ```

## Reference
[Shell Script 變數相加](https://shengyu7697.github.io/shell-script-arithmetic/)
[How to solve gzip: stdin: not in gzip format error](https://linuxhint.com/solve-gzip-stdin-not-gzip-format-error/)
[解压缩报错tar: Error is not recoverable: exiting now](https://blog.csdn.net/cp_panda_5/article/details/79192688)
[In a bash script, using the conditional "or" in an "if" statement](https://unix.stackexchange.com/questions/47584/in-a-bash-script-using-the-conditional-or-in-an-if-statement)