A CTF that challenges you from trivia questions to reverse engineering ELF binaries.
- netcat
- gnu-netcat
- nc6
- openbsd-netcat (discouraged)
#!/bin/bash | |
DISK="" | |
USERNAME="user" | |
PASSWORD="pass" | |
btrfs_setup() | |
{ | |
subvols=( | |
"" |
#include <stdio.h> | |
#include <string.h> | |
#include <stdlib.h> | |
struct view { const char *s; size_t len; }; | |
size_t partition(struct view *result, size_t n, | |
const char *str, const char *delim){ | |
char *startp = (char *)str, *endp; | |
size_t l = strlen(delim), i = 0; |
BACKDOOR := backdoor | |
obj-m := $(BACKDOOR).o | |
$(BACKDOOR)-y += poc.o | |
default: all | |
all: | |
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules |
#!/usr/bin/env python | |
from itertools import islice | |
from string import ascii_lowercase | |
def de_bruijn(k, n): | |
try: | |
_ = int(k) | |
alphabet = list(map(str, range(k))) | |
except (ValueError, TypeError): |
#include <mysql.h> | |
int commit_db(MYSQL *con){ | |
MYSQL_STMT *stmt; | |
MYSQL_BIND bind[2]; | |
my_ulonglong affected_rows; | |
item_t *curr = items_list; | |
int count, param_count; | |
unsigned long str_length; |
# Values from the white paper | |
EXAMPLE_PHDR = 'L2 F\' B2 U D2 B U D\' F2 L\' F U2 R U\' L\' R\' U\' B F D U\''.split(" ") | |
EXAMPLE_LHDR = 'B U2 D2 R\' F U2 B R L\' B L\' B L\' D F\' L U\' B2 R F2 L\' F2'.split(" ") | |
EXAMPLE_MSG = 'F L U2 L2 F\' B D\' B2 L\' B\' U L2 F\' R2 D\' B\' U\' L\' B R D2 L2 R\' B F2 D\' U R B D2 U2 R2 U\' F2 R2 F D F2 B2 D\' R\' D R\' U\' F\' B2 U F2 D R U L F U2 L2 D R B D\' B\' U L U\''.split(" ") | |
# Values from the challenge | |
CHALL_PHDR = 'B2 R U F\' R\' L\' B B2 L F D D\' R\' F2 D\' R R D2 B\' L R'.split(" ") | |
CHALL_LHDR = 'L\' L B F2 R2 F2 R\' L F\' B\' R D\' D\' F U2 B\' U U D\' U2 F\''.split(" ") | |
CHALL_MSG = 'L F\' F2 R B R R F2 F\' R2 D F\' U L U\' U\' U F D F2 U R U\' F U B2 B U2 D B F2 D2 L2 L2 B\' F\' D\' L2 D U2 U2 D2 U B\' F D R2 U2 R\' B\' F2 D\' D B\' U B\' D B\' F\' U\' R U U\' L\' L\' U2 F2 R R F L2 B2 L2 B B\' D R R\' U L'.split(" ") |
import re | |
import os, shutil, pathlib | |
from zipfile import ZipFile, BadZipFile | |
from string import ascii_uppercase, ascii_lowercase | |
whitespace = ["\r", "\n", "\t", "\f", "\v", " "] | |
rep_var = ["{i}", "{j}", "{k}"] | |
def solve_challenge(): |
#!/bin/bash | |
# Install Dependencies | |
sudo pacman -S git svn gd lib32-gcc-libs patch make bison fakeroot | |
# Checkout glibc source | |
svn checkout --depth=empty svn://svn.archlinux.org/packages | |
cd packages | |
svn update glibc | |
cd glibc/repos/core-x86_64 |