This commit is contained in:
2025-03-10 02:52:45 +01:00
parent e9e0fb20c2
commit 225f8da388
15 changed files with 96 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,17 @@
# run via docker compose :)
FROM ubuntu:22.04
RUN apt-get update
RUN apt-get -y install socat
RUN useradd -d /home/ctf/ -m -p ctf -s /bin/bash ctf
RUN echo "ctf:ctf" | chpasswd
WORKDIR /home/ctf
COPY rev1 .
COPY flag.txt .
USER ctf
CMD socat -ddd TCP4-LISTEN:1024,fork,reuseaddr exec:./rev1,pty,echo=0,raw,iexten=0

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
CSCG{testflag}

BIN
cscg25/rev/intro1/rev1 Executable file

Binary file not shown.

View File

@@ -0,0 +1,18 @@
# run via docker compose :)
FROM ubuntu:22.04
RUN apt-get update
RUN apt-get -y install socat
RUN useradd -d /home/ctf/ -m -p ctf -s /bin/bash ctf
RUN echo "ctf:ctf" | chpasswd
WORKDIR /home/ctf
COPY rev2 .
COPY flag.txt .
USER ctf
CMD socat -ddd TCP4-LISTEN:1024,fork,reuseaddr exec:./rev2,pty,echo=0,raw,iexten=0

View File

@@ -0,0 +1 @@
CSCG{testflag}

View File

@@ -0,0 +1,6 @@
password = b"\x02\xea\x02\xe8\xfc\xfd\xbd\xfd\xf2\xec\xe8\xfd\xfb\xea\xf7\xfc\xef\xb9\xfb\xf6\xea\xfd\xf2\xf8\xf7\x00"
input = bytes((byte + 0x77) % 256 for byte in password)
with open("password.bin", "wb") as f:
f.write(input)

View File

@@ -0,0 +1 @@
yay_st4tic_transf0rmationw

BIN
cscg25/rev/intro2/rev2 Executable file

Binary file not shown.

BIN
cscg25/rev/intro2/rev2.bndb Normal file

Binary file not shown.

View File

@@ -0,0 +1 @@
CSCG{testflag}

BIN
cscg25/rev/intro3/rev3 Executable file

Binary file not shown.

View File

@@ -0,0 +1,51 @@
<html>
<head>
<title>Intro to Web 2</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1>$(GERMAN_CITY) Tram Ticket Machine</h1>
<h3>Get your <span style="text-decoration: line-through;">ticket</span> flag here!</h3>
<hr>
With the help of our state-of-the-art floppy disk switching robots, you can now read the first
part of the flag in real time!
<p>
Flag part 1/4: <span style="color: green; font-family: 'Courier New', monospace;">
CSCG{<span id="flag">........</span></span>
<!--
No time to wait, right?
-->
<script>
flag = "l9jj550K"
symbolsRevealed = 0
waitTime = 0;
function nextSymbol() {
if (symbolsRevealed >= flag.length) return;
symbolsRevealed++;
setTimeout(nextSymbol, waitTime);
}
function spin() {
const flagPart = flag.substr(0, symbolsRevealed);
const alphabet = ("ABCDEFGHIJKLMNOPRSTUVWXYZabcdefhiklmnorstuvwxz0123456789")
const randomSymbol =
symbolsRevealed < flag.length
? alphabet.charAt(Math.floor(Math.random() * alphabet.length))
: "";
const suffix = ".".repeat(Math.max(0, flag.length - 1 - symbolsRevealed));
document.getElementById("flag").innerHTML = flagPart + randomSymbol + suffix;
}
setTimeout(nextSymbol, waitTime);
setInterval(spin, 50);
</script>
</body>
</html>