Автор: @FaLLenSkiLL

Ссылка на таск Codeby

https://codeby.games/categories/web/6d82d74d-e5bd-4125-bf73-6c7c9dbfb686

Описание задания

Докажи, что ты (не) робот!

IP: 62.173.140.174:16011

Решение

В этом задании нам нужно решить капчу 50 раз

Так как мне лень делать это руками, я напишу код на python

Мой кодик взаимодействует с веб-сокетами и обрабатывает сообщений от удаленного сервера.

Модули:
- asyncio: Асинхронное программирование в Python.
- base64: Для декодирования данных в формате base64.
- websockets: Для установки соединения по веб-сокетам.
Функции:
- receive_and_process: Функция для получения и обработки сообщений от сервера.
- main: Основная функция, устанавливающая соединение с сервером и вызывающая функцию для обработки сообщений.

Код проходится по циклу итераций для получения сообщений от сервера. Если в полученном сообщении обнаруживается слово “FLAG”, происходит прерывание цикла. В противном случае декодируется и вычисляется часть сообщения, затем результат отправляется обратно на сервер.

import asyncio
from base64 import b64decode
import websockets
 
async def receive_and_process(socket):
    for i in range(1, 52):
        raw_msg = await socket.recv()
        print(raw_msg)
        
        if "FLAG" in raw_msg:
            break
        
        calculated = str(eval(b64decode(raw_msg.split(": ")[1].split()[0]).decode()[4:]))
        await socket.send(calculated)
 
async def main():
    async with websockets.connect("ws://62.173.140.174:16011/ws") as socket:
        await receive_and_process(socket)
 
asyncio.run(main())

Tags:

#codeby#writeup#web #easy