01. picoCTF　-practice　

picoCTF2021 が始まりましたねー！

これは、無料でこれだけのことを勉強できるのは、
ほんに感謝ですねー。中高生でもないけど、勉強開始。
勉強するのに、遅いってことはない、と誰かが言っていた気がしますｗ

では早速。※※※私が考えた答えが入っているので、答えを見たくない方は、要注意です。※※※

Pracitce のほうです。
General Skillsからいきますー

Description
If I told you a word started with 0x70 in hexadecimal, what would it start with in ASCII?

Hints　ってところに、どう答えたらいいかのヒントがありますよ！
Submit your answer in our flag format. For example, if your answer was 'hello', you would submit 'picoCTF{hello}' as the flag.


答えとしては、

picoCTF{p} 

こちらを入れて、submit ですね。



Description
What is 0x3D (base 16) in decimal (base 10)?


Submit your answer in our flag format. For example, if your answer was '22', you would submit 'picoCTF{22}' as the flag.



答え
picoCTF{61}



Description
Can you convert the number 42 (base 10) to binary (base 2)?


Submit your answer in our competition's flag format. For example, if your answer was '11111', you would submit 'picoCTF{11111}' as the flag.



答え
picoCTF{101010}

###what's a net cat?

Description
Using netcat (nc) is going to be pretty important. Can you connect to jupiter.challenges.picoctf.org at port 41120 to get the flag?


nc [tutorial](https://linux.die.net/man/1/nc)

Webshell を起動します。

一番最初に登録した、username と　パスワードを入れます。

nc の上記のtutorialを読んでください。

コマンドで
```nc jupiter.challenges.picoctf.org 41120
```
 と　うつ

答え
picoCTF{nEtCat_Mast3ry_3214be47}

###strings it

Description
Can you find the flag in file without running it?
実行せずにファイル内のフラグを見つけることができますか？

[strings](https://linux.die.net/man/1/strings)

これは、上記のサイトを読む必要あり。

答え
picoCTF{5tRIng5_1T_7f766a23}


ちょっと、ここで止まったー
自分のlinux 環境ではできたけど、
picoCTF の　Webshellではどうやってやるんだろう？
fileはどこに置いてある、って情報もないのに。。。


うーん、

自分の環境でやったことをメモ

```
・・・・/downloads$ strings strings | grep picoCTF*

picoCTF{5tRIng5_1T_7f766a23}
```
答えは合ってた。
でも、
webshell でやる方法が分からないなーー

★どなたか、これをwebshellのほうでfile を探す方法を知っている方いましたら、教えてください。


###Bases

Description
What does this bDNhcm5fdGgzX3IwcDM1 mean? I think it has something to do with bases.

```
tomoaki-picoctf@webshell:~$ echo "bDNhcm5fdGgzX3IwcDM1" | base64 --help
Usage: base64 [OPTION]... [FILE]
Base64 encode or decode FILE, or standard input, to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
  -d, --decode          decode data
  -i, --ignore-garbage  when decoding, ignore non-alphabet characters
  -w, --wrap=COLS       wrap encoded lines after COLS character (default 76).
                          Use 0 to disable line wrapping

      --help     display this help and exit
      --version  output version information and exit

The data are encoded as described for the base64 alphabet in RFC 4648.
When decoding, the input may contain newlines in addition to the bytes of
the formal base64 alphabet.  Use --ignore-garbage to attempt to recover
from any other non-alphabet bytes in the encoded stream.

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report base64 translation bugs to <https://translationproject.org/team/>
Full documentation at: <https://www.gnu.org/software/coreutils/base64>
or available locally via: info '(coreutils) base64 invocation'
```

だから、

```
echo "bDNhcm5fdGgzX3IwcDM1" | base64 -d
```

答え
picoCTF{l3arn_th3_r0p35}