Skip to content

Commit bfe56d4

Browse files
committed
All docker containers should be final. Ready for building by the participants.
1 parent a0d62e8 commit bfe56d4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+96
-6
lines changed

README.md

+2-4

lessons/11_memory_leaks/lessonplan.md

+2

lessons/12_multi_stage/Makefile

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
all: 1_vulnerable
2+
3+
1_vulnerable:
4+
gcc -m32 -fno-stack-protector -znoexecstack -o ./build/1_vulnerable ./src/1_vulnerable.c
5+
6+
7.23 KB
Binary file not shown.

lessons/12_multi_stage/lessonplan.md

+2
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#include <unistd.h>
2+
#include <stdio.h>
3+
4+
void vuln() {
5+
char buffer[16];
6+
read(0, buffer, 100);
7+
write(1, buffer, 16);
8+
}
9+
10+
int main() {
11+
vuln();
12+
}

lessons/13_fmt_str/Makefile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
all: 3_echo
2+
3+
3_echo:
4+
gcc -m32 -znoexecstack -o ./build/3_echo ./src/3_echo.c
5+
cp ./build/3_echo ./services/echo/echo
6+
7+

lessons/13_fmt_str/build/3_echo

7.43 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
FROM ubuntu:latest
2+
ENV user=echo
3+
RUN dpkg --add-architecture i386
4+
RUN sed -i -e 's/archive\.ubuntu\.com/mirror\.0x\.sg/g' /etc/apt/sources.list
5+
RUN apt-get update
6+
RUN apt-get install -y xinetd libc6:i386 libncurses5:i386 libstdc++6:i386
7+
RUN useradd -m $user
8+
RUN echo "$user hard nproc 20" >> /etc/security/limits.conf
9+
COPY ./echo /home/$user/echo
10+
COPY ./echoservice /etc/xinetd.d/echoservice
11+
COPY ./flag /home/$user/flag
12+
RUN chown -R root:$user /home/$user
13+
RUN chmod -R 750 /home/$user
14+
RUN chown root:$user /home/$user/flag
15+
RUN chmod 440 /home/$user/flag
16+
EXPOSE 31337
17+
CMD ["/usr/sbin/xinetd", "-d"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
docker build -t echoes .
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
docker run -dt -p 1904:31337 echoes

lessons/13_fmt_str/services/echo/echo

7.43 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
service echoservice
2+
{
3+
disable = no
4+
socket_type = stream
5+
protocol = tcp
6+
wait = no
7+
user = echo
8+
bind = 0.0.0.0
9+
server = /home/echo/echo
10+
type = UNLISTED
11+
port = 31337
12+
}

lessons/13_fmt_str/services/echo/flag

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
flag{h1_1m_p0ppy}

lessons/13_fmt_str/src/1_lottery.c

Whitespace-only changes.

lessons/13_fmt_str/src/2_overwrite.c

Whitespace-only changes.

lessons/13_fmt_str/src/3_echo.c

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#include <stdlib.h>
2+
#include <stdio.h>
3+
#include <unistd.h>
4+
5+
int main() {
6+
setvbuf(stdin, NULL, _IONBF, 0);
7+
setvbuf(stdout, NULL, _IONBF, 0);
8+
char echoed[1000] = {0};
9+
char number[200];
10+
int times;
11+
int i;
12+
while (1) {
13+
read(0, echoed, 999);
14+
puts("How many times do you want it echoed?");
15+
scanf("%199s", number);
16+
times = atoi(number);
17+
for (i = 0; i < times; i++) {
18+
printf(echoed);
19+
}
20+
}
21+
}

lessons/14_bypass_canary/lessonplan.md

-2
This file was deleted.

lessons/1_setting_up_environment/lessonplan.md

+8

0 commit comments

Comments
 (0)