Level 9

Dedicated to a Famous Sam

Solution

So, we have new task description.
When we click on the link description we get empty page with 0 or 1.
The url of the page is /this-was-way-too-easy-until-now

When we refresh the page - number changes.

So let's write simple script to download all numbers to a file.

We don't know how many they are, so let's take first 5000.

#!/bin/bash
n="1"
touch binary.txt
while [ $n -lt 50000 ]
do
  curl "http://18.198.170.188/this-was-way-too-easy-until-now" >> binary.txt
  n=$[$n+1]
done
echo "5000 entries done."

And run it. If we open result file. We see:

1100000111110 ... 0000000000000001111111111111110000011111

First my thougt was that this is a binery text, but this asumption was false.

If we look closer we can see patern:

  00000000000000000000000000000000000 ... 00000000000000000000000000000000000

We have some long sections in size of 35x0.
But there is also section with 34x0 or 36x0.
So we need to tolerate errors.

Let's split the file in line, that begins with ~35x0:

00000000000000000000000000000000000111111111111111000000 ...
000000000000000000000000000000000011111111111111100000 ...
0000000000000000000000000000000000011111111111111100000 ...

Here is a full file

Now we cann see the pattern in details.
And we can correct errors with majority of votes.
So if we have situation that one string has 34x0 and other two have 35x0
we will correct the one with 34x0.
At the end we will have 3 indentical strings.

Here is error free file

Now let's take one string and analyze futher.
We have another long fragment of 15x0.
Let's split file by these fragments:

00000000000000000000
00000000000000011111111111111100000111110000011111000001111111111111110000011111
0000000000000001111100000111111111111111000001111111111111110000011111
00000000000000011111000001111111111111110000011111
0000000000000001111111111111110000011111111111111100000111111111111111
0000000000000001111100000111111111111111000001111111111111110000011111
0000000000000001111100000111110000011111
000000000000000111110000011111000001111111111111110000011111
0000000000000001111111111111110000011111111111111100000111111111111111
00000000000000011111000001111111111111110000011111
00000000000000011111111111111100000111110000011111
000000000000000111110000011111000000000000000111111111111111
0000000000000001111100000111110000011111
0000000000000001111100000111111111111111
0000000000000001111111111111110000011111
00000000000000011111111111111100000111110000011111
00000000000000011111111111111100000111110000011111
0000000000000001111100000111111111111111
00000000000000011111000001111100000111110000011111
0000000000000001111100000111110000011111

The pattern for 0 is now more understandable:

We have only two types of 1:

The long and short fragments can stand for - and . in morse encoding.

Let's try to replace (F - Fragment):

  Begin of Transaction
  F: -..-.
  F: .--.
  F: .-.
  F: ---
  F: .--.
  F: ...
  F: ..-.
  F: ---
  F: .-.
  F: -..
  F: ..
  F: -
  F: ...
  F: .-
  F: -.
  F: -..
  F: -..
  F: .-
  F: ....
  F: ...

Here is clean message

Now we will take any online morse decoder

The anwser is decoded, but we need to convert it to lowercase because the system accept only lowercase keys. - /propsforditsanddahs

So our result url will be:
http://18.198.170.188:80/propsforditsanddahs

If we go to this url we will see
congratulations page whith the link to the Level 10 ( task / solution )

Back