Archive of Sieberrsec CTF 3.0

Challenges were archived after the CTF from ctfx.sieberrsec.tech, with edits made to some challenge descriptions in challenges.json to remove and move source code to their respective locations in the files directory (marked out by [SOURCE CODE]). Challenge files should also be also available there, since links to files (especially those hosted on the platform) may break.

Note: Some files are split into mutliple smaller files due to GitHub’s file size limit, reassemble in 7-Zip using Combine files... or cat filename.zip.* > filename.zip.

Writeups are available here.

Official archive here.


PWN

CRYPTO

RE

OSINT

WEB

FORENSICS

MISC

SANITY


PWN

simple

Points: 62 Solves: 47 Author: chowgz

Flag: IRS{W377_D0NE_40U_G3N1u5_WBVAVEF}

Description

Simple game right?

nc challs.sieberrsec.tech 8862

<div class="highlight highlight-source-c position-relative overflow-auto" data-snippet-clipboard-copy-content="#include
#include

// cc simple.c -o simple -fstack-protector-all
int main(void)
{
puts(” want a flag? just play until you win!”); puts(“goal: become billionaire!”); int account_value=”1000000;” while (account_value

#include <stdio.h>
#include <stdlib.h>

// cc simple.c -o simple -fstack-protector-all
int main(void)
{
	puts("Want a flag? Just play until you win!");
	puts("Goal: Become a billionaire!");
	int account_value = 1000000;
	while (account_value < 1000000000) {
		printf("\nAccount value: $%d\n", account_value);
		puts("Commands:");
		puts("1. Withdraw money");
		puts("2. Deposit money");
		printf("Choose an option [1/2]: ");
		int option = 0;
		scanf("%d", &option);
		while (option != 1 && option != 2) {
			puts("Invalid option!");
			printf("Choose an option [1/2]: ");
			scanf("%d", &option);
		}
		if (option == 1) {
			printf("Amount to withdraw: ");
			int withdrawal = 0;
			scanf("%d", &withdrawal);
			account_value -= withdrawal;
		} else {
			puts("LOL no you are not allowed to deposit money. :(");
		}
	}
	printf("\nAccount value: $%d\n", account_value);
	system("cat flag");
	return 0;
}