From 2fa66f3860c7444712016e69b75fb84ee748a828 Mon Sep 17 00:00:00 2001 From: atxr Date: Tue, 5 Mar 2024 11:27:36 +0100 Subject: [PATCH] Start mineziperd from app --- Dockerfile | 6 ++---- solve/solve.py | 2 +- src/webapp/app.py | 17 ++++++++++++++--- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index ddea988..dba7866 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,19 +4,17 @@ RUN apt update && apt install python3-pip ncat -y RUN useradd -m -s /bin/bash user -# USER user +USER user WORKDIR /home/user COPY dist/mineziperd . COPY src/webapp webapp COPY flag.txt . -RUN ./mineziperd & - WORKDIR /home/user/webapp RUN pip install -r requirements.txt EXPOSE 5000 ENV FLASK_APP=app.py -CMD ["flask", "run", "--host", "0.0.0.0"] +CMD ["python3", "-m", "flask", "run", "--host", "0.0.0.0"] diff --git a/solve/solve.py b/solve/solve.py index 01a091c..b1d25d2 100644 --- a/solve/solve.py +++ b/solve/solve.py @@ -13,7 +13,7 @@ port = 5000 url = f"http://{ip}:{port}/upload" # Reverse shell params -ip = "127.0.0.1" +my_ip = "127.0.0.1" my_port = 9001 diff --git a/src/webapp/app.py b/src/webapp/app.py index 056b788..86e8387 100644 --- a/src/webapp/app.py +++ b/src/webapp/app.py @@ -3,6 +3,8 @@ import socket from struct import pack, unpack import hashlib import sys +import time +import os PORT = 8989 @@ -27,9 +29,18 @@ def upload(): hash = hashlib.sha256(buf).digest() # Scan file - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.settimeout(10) - s.connect(("localhost", PORT)) + while True: + try: + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.settimeout(10) + s.connect(("localhost", PORT)) + break + + except: + print("Restarting mineziper service", file=sys.stdout) + os.system("killall mineziperd") + os.system("~/mineziperd &") + time.sleep(1) s.send(pack("I", len(buf))) s.send(buf)