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:
35x0 - Begin of Transaction15x0 - Begin of Fragment5x0 - Separator
We have only two types of 1:
15x1 - long one and 5x1 - short one
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
)