Автор: @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: