Rating:

## SECCON: Decrypt it

----------
## Challenge details
| Contest | Challenge | Category | Points |
|:---------------|:--------------|:----------|-------:|
| SECCON | Decrypt it | Crypto | 300 |

*Description*
>$ ./cryptooo SECCON{*************************}

>Encrypted(44): waUqjjDGnYxVyvUOLN8HquEO0J5Dqkh/zr/3KXJCEnw=

>what's the key?

----------
## Write-up

If we do something like:

>```
>./cryptooo SECCON\{
>Encrypted(12): waUqjjDGnQ==
>```

We can see that we already have the "waUqjjDGn" part right, this means we should be able to slowly extend the flag until we reach the encrypted flag.

I used bash commands like

>```
>reset; for i in SECCON\{{{A..z},{0..9}}; do echo $i; ./cryptooo $i; done
>```

in the beginning to slowly increase the message, however a pattern becomes appearant pretty fast and you can just check if the expected letters fit in, there is just one stray 1 in there.

After a while the flag is found:

>```
>$ for i in SECCON\{Cry_Pto_Oo_Oo1Oo_oo_Oo_{O,o,0}\}; do echo $i; ./cryptooo $i; done
>SECCON{Cry_Pto_Oo_Oo1Oo_oo_Oo_O}
>Encrypted(44): waUqjjDGnYxVyvUOLN8HquEO0J5Dqkh/zr/3KXJCEnw=
>SECCON{Cry_Pto_Oo_Oo1Oo_oo_Oo_o}
>Encrypted(44): waUqjjDGnYxVyvUOLN8HquEO0J5Dqkh/zr/3KXJCMj8=
>SECCON{Cry_Pto_Oo_Oo1Oo_oo_Oo_0}
>Encrypted(44): waUqjjDGnYxVyvUOLN8HquEO0J5Dqkh/zr/3KXJCbUM=
>```

Making the flag:

>```
>SECCON{Cry_Pto_Oo_Oo1Oo_oo_Oo_O}
>```

Original writeup (https://github.com/dqi/ctf_writeup/tree/master/2015/seccon/crypto/cryptooo).