landau

🐧

Intro to Programming Languages

15 / 253 10878 / 35335


Commands

Time of First Successful Submission: 2026-06-03 18:26:08

Command Arguments

Time of First Successful Submission: 2026-06-03 18:26:52

Command History

Time of First Successful Submission: 2026-06-03 18:27:22

The Root Path

Time of First Successful Submission: 2026-06-03 18:28:10

Absolute Paths

Time of First Successful Submission: 2026-06-03 18:28:46

Changing position

Time of First Successful Submission: 2026-06-03 18:30:27

Changing to an Absolute Path

Time of First Successful Submission: 2026-06-03 18:31:23

Relative Paths

Time of First Successful Submission: 2026-06-03 18:32:30

Cat

Time of First Successful Submission: 2026-06-03 19:29:02

Ls

Time of First Successful Submission: 2026-06-03 19:37:07

Ls All

Time of First Successful Submission: 2026-06-03 19:40:24

Find

Time of First Successful Submission: 2026-06-03 19:48:51

Piping Echo

Time of First Successful Submission: 2026-06-03 21:56:02

Piping Stdout

Time of First Successful Submission: 2026-06-03 21:57:14

Piping Stdin

Time of First Successful Submission: 2026-06-03 22:52:46


Start Here

12 / 12 2793 / 48085


Using the Terminal

Time of First Successful Submission: 2026-06-03 00:59:59

Using the VSCode Workspace

Time of First Successful Submission: 2026-06-03 18:13:34

Using the GUI Desktop

Time of First Successful Submission: 2026-06-03 01:02:21

Pasting into the Desktop

Time of First Successful Submission: 2026-06-03 01:03:14

Restarting Challenges

Time of First Successful Submission: 2026-06-03 01:10:19

Challenge Programs

Time of First Successful Submission: 2026-06-03 18:17:40

The Flag File

Time of First Successful Submission: 2026-06-03 18:19:00

Using Privileged Mode

Time of First Successful Submission: 2026-06-03 18:21:13

Persistent Home Directories - One

Time of First Successful Submission: 2026-06-03 18:23:14

Persistent Home Directories - Two

Time of First Successful Submission: 2026-06-03 18:23:47


Linux Luminarium

128 / 128 3364 / 35819


Intro to Commands

Time of First Successful Submission: 2026-06-03 18:26:08

Intro to Arguments

Time of First Successful Submission: 2026-06-03 18:26:52

Command History

Time of First Successful Submission: 2026-06-03 18:27:22

The Root

Time of First Successful Submission: 2026-06-03 18:28:10

Program and absolute paths

Time of First Successful Submission: 2026-06-03 18:28:46

Position thy self

Time of First Successful Submission: 2026-06-03 18:30:27

Position elsewhere

Time of First Successful Submission: 2026-06-03 18:31:23

implicit relative paths, from /

Time of First Successful Submission: 2026-06-03 18:32:30

explicit relative paths, from /

Time of First Successful Submission: 2026-06-03 18:33:45

implicit relative path

Time of First Successful Submission: 2026-06-03 18:34:35

home sweet home

Time of First Successful Submission: 2026-06-03 18:36:13

cat: not the pet, but the command!

Time of First Successful Submission: 2026-06-03 19:29:02

catting absolute paths

Time of First Successful Submission: 2026-06-03 19:29:22

more catting practice

Time of First Successful Submission: 2026-06-03 19:34:07

grepping for a needle in a haystack

Time of First Successful Submission: 2026-06-03 19:34:37

comparing files

Time of First Successful Submission: 2026-06-03 19:36:38

listing files

Time of First Successful Submission: 2026-06-03 19:37:07

touching files

Time of First Successful Submission: 2026-06-03 19:37:39

removing files

Time of First Successful Submission: 2026-06-03 19:38:16

moving files

Time of First Successful Submission: 2026-06-03 19:39:18

copying files

Time of First Successful Submission: 2026-06-03 19:39:47

hidden files

Time of First Successful Submission: 2026-06-03 19:40:24

An Epic Filesystem Quest

Time of First Successful Submission: 2026-06-03 19:44:16

making directories

Time of First Successful Submission: 2026-06-03 19:44:47

finding files

Time of First Successful Submission: 2026-06-03 19:48:51

linking files

Time of First Successful Submission: 2026-06-03 19:52:06

Learning From Documentation

Time of First Successful Submission: 2026-06-03 20:55:14

Learning Complex Usage

Time of First Successful Submission: 2026-06-03 21:09:05

Reading Manuals

Time of First Successful Submission: 2026-06-03 21:11:24

Searching Manuals

Time of First Successful Submission: 2026-06-03 21:12:32

Searching For Manuals

Time of First Successful Submission: 2026-06-03 21:17:47

Helpful Programs

Time of First Successful Submission: 2026-06-03 21:19:02

Help for Builtins

Time of First Successful Submission: 2026-06-03 21:20:21

Matching with *

Time of First Successful Submission: 2026-06-03 21:24:21

Matching with ?

Time of First Successful Submission: 2026-06-03 21:25:10

Matching with []

Time of First Successful Submission: 2026-06-03 21:26:57

Matching paths with []

Time of First Successful Submission: 2026-06-03 21:28:27

Multiple globs

Time of First Successful Submission: 2026-06-03 21:29:47

Mixing globs

Time of First Successful Submission: 2026-06-03 21:31:57

Exclusionary globbing

Time of First Successful Submission: 2026-06-03 21:33:19

Tab completion

Time of First Successful Submission: 2026-06-03 21:34:37

Multiple options for tab completion

Time of First Successful Submission: 2026-06-03 21:35:50

Tab completion on commands

Time of First Successful Submission: 2026-06-03 21:36:20

Redirecting output

Time of First Successful Submission: 2026-06-03 21:56:02

Redirecting more output

Time of First Successful Submission: 2026-06-03 21:57:14

Appending output

Time of First Successful Submission: 2026-06-03 21:59:06

Redirecting errors

Time of First Successful Submission: 2026-06-03 22:01:23

Redirecting input

Time of First Successful Submission: 2026-06-03 22:52:46

Grepping stored results

Time of First Successful Submission: 2026-06-03 22:54:16

Grepping live output

Time of First Successful Submission: 2026-06-03 22:55:45

Grepping errors

Time of First Successful Submission: 2026-06-03 22:58:05

Filtering with grep -v

Time of First Successful Submission: 2026-06-03 22:59:15

Filtering with sed

Time of First Successful Submission: 2026-06-03 23:00:46

Duplicating piped data with tee

Time of First Successful Submission: 2026-06-03 23:09:12

Process substitution for input

Time of First Successful Submission: 2026-06-04 00:52:11

Writing to multiple programs

Time of First Successful Submission: 2026-06-04 00:59:50

Split-piping stderr and stdout

Time of First Successful Submission: 2026-06-04 01:12:58

Named pipes

Time of First Successful Submission: 2026-06-04 01:17:25

Printing Variables

Time of First Successful Submission: 2026-06-04 02:53:33

Setting Variables

Time of First Successful Submission: 2026-06-04 02:54:33

Multi-word Variables

Time of First Successful Submission: 2026-06-04 02:55:48

Exporting Variables

Time of First Successful Submission: 2026-06-04 02:58:00

Printing Exported Variables

Time of First Successful Submission: 2026-06-04 02:58:36

Storing Command Output

Time of First Successful Submission: 2026-06-04 03:01:44

Reading Input

Time of First Successful Submission: 2026-06-04 03:03:14

Reading Files

Time of First Successful Submission: 2026-06-04 03:04:43

Translating characters

Time of First Successful Submission: 2026-06-04 18:02:39

Deleting characters

Time of First Successful Submission: 2026-06-04 18:03:14

Deleting newlines

Time of First Successful Submission: 2026-06-04 18:04:45

Extracting the first lines with head

Time of First Successful Submission: 2026-06-04 18:05:38

Extracting specific sections of text

Time of First Successful Submission: 2026-06-04 18:07:57

Sorting data

Time of First Successful Submission: 2026-06-04 18:09:03

Listing Processes

Time of First Successful Submission: 2026-06-04 18:15:12

Killing Processes

Time of First Successful Submission: 2026-06-04 18:16:53

Interrupting Processes

Time of First Successful Submission: 2026-06-04 18:17:31

Killing Misbehaving Processes

Time of First Successful Submission: 2026-06-04 18:22:24

Suspending Processes

Time of First Successful Submission: 2026-06-04 18:23:27

Resuming Processes

Time of First Successful Submission: 2026-06-04 18:24:18

Backgrounding Processes

Time of First Successful Submission: 2026-06-04 18:27:06

Foregrounding Processes

Time of First Successful Submission: 2026-06-04 18:27:57

Starting Backgrounded Processes

Time of First Successful Submission: 2026-06-04 18:28:37

Process Exit Codes

Time of First Successful Submission: 2026-06-04 18:29:51

Becoming root with su

Time of First Successful Submission: 2026-06-04 18:43:46

Other users with su

Time of First Successful Submission: 2026-06-04 18:44:22

Cracking passwords

Time of First Successful Submission: 2026-06-04 18:47:10

Using sudo

Time of First Successful Submission: 2026-06-04 18:49:25

Changing File Ownership

Time of First Successful Submission: 2026-06-04 20:47:59

Groups and Files

Time of First Successful Submission: 2026-06-04 20:51:28

Fun With Groups Names

Time of First Successful Submission: 2026-06-04 20:53:08

Changing Permissions

Time of First Successful Submission: 2026-06-04 20:56:48

Executable Files

Time of First Successful Submission: 2026-06-04 20:58:55

Permission Tweaking Practice

Time of First Successful Submission: 2026-06-04 21:09:46

Permissions Setting Practice

Time of First Successful Submission: 2026-06-04 21:18:47

The SUID Bit

Time of First Successful Submission: 2026-06-04 21:21:28

Chaining with Semicolons

Time of First Successful Submission: 2026-06-04 22:03:12

Building on Success

Time of First Successful Submission: 2026-06-04 22:04:14

Handling Failure

Time of First Successful Submission: 2026-06-04 22:05:19

Your First Shell Script

Time of First Successful Submission: 2026-06-04 22:08:01

Redirecting Script Output

Time of First Successful Submission: 2026-06-05 18:22:31

Executable Shell Scripts

Time of First Successful Submission: 2026-06-05 18:25:38

Understanding Shebangs

Time of First Successful Submission: 2026-06-05 18:29:10

Scripting with Arguments

Time of First Successful Submission: 2026-06-05 18:31:04

Scripting with Conditionals

Time of First Successful Submission: 2026-06-05 18:33:15

Scripting with Default Cases

Time of First Successful Submission: 2026-06-05 18:34:35

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-06-05 18:36:56

Reading Shell Scripts

Time of First Successful Submission: 2026-06-05 18:42:13

Launching Screen

Time of First Successful Submission: 2026-06-05 18:43:40

Detaching and Attaching

Time of First Successful Submission: 2026-06-05 18:45:12

Finding Sessions

Time of First Successful Submission: 2026-06-05 18:46:37

Switching Windows

Time of First Successful Submission: 2026-06-05 18:47:41

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-06-05 18:48:42

Switching Windows (tmux)

Time of First Successful Submission: 2026-06-05 18:49:34

The PATH Variable

Time of First Successful Submission: 2026-06-05 18:51:20

Setting PATH

Time of First Successful Submission: 2026-06-05 18:53:00

Finding Commands

Time of First Successful Submission: 2026-06-05 18:54:05

Adding Commands

Time of First Successful Submission: 2026-06-05 19:09:15

Hijacking Commands

Time of First Successful Submission: 2026-06-05 19:15:59

Bashrc Backdoor

Time of First Successful Submission: 2026-06-05 19:18:36

Sniffing Input

Time of First Successful Submission: 2026-06-05 19:30:17

Overshared Directories

Time of First Successful Submission: 2026-06-05 19:34:42

Tricky Linking

Time of First Successful Submission: 2026-06-05 19:39:39

Sniffing Process Arguments

Time of First Successful Submission: 2026-06-05 19:41:12

Snooping on Configurations

Time of First Successful Submission: 2026-06-05 19:47:20

The Fork Bomb

Time of First Successful Submission: 2026-06-05 20:17:52

Disk-Space Doomsday

Time of First Successful Submission: 2026-06-05 20:21:59

rm -rf /

Time of First Successful Submission: 2026-06-05 20:23:46

Life after rm -rf /

Time of First Successful Submission: 2026-06-05 20:26:45

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-06-05 20:59:25


Computing 101

107 / 128 41 / 20566


Your First Register

Time of First Successful Submission: 2026-06-05 22:02:10

Your First Syscall

Time of First Successful Submission: 2026-06-05 22:13:30

Exit Codes

Time of First Successful Submission: 2026-06-05 22:15:15

Building Executables

Time of First Successful Submission: 2026-06-05 22:21:19

Moving Between Registers

Time of First Successful Submission: 2026-06-05 22:24:00

Loading From Memory

Time of First Successful Submission: 2026-06-06 03:54:13

More Loading Practice

Time of First Successful Submission: 2026-06-06 03:55:29

Dereferencing Pointers

Time of First Successful Submission: 2026-06-06 18:30:19

Dereferencing Yourself

Time of First Successful Submission: 2026-06-06 18:32:55

Dereferencing with Offsets

Time of First Successful Submission: 2026-06-06 18:34:46

Stored Addresses

Time of First Successful Submission: 2026-06-06 18:37:50

Double Dereference

Time of First Successful Submission: 2026-06-06 18:39:34

The Stack

Time of First Successful Submission: 2026-06-06 18:42:08

Stack Offsets

Time of First Successful Submission: 2026-06-06 19:05:50

Program Arguments on the Stack

Time of First Successful Submission: 2026-06-06 19:11:08

Popping From the Stack

Time of First Successful Submission: 2026-06-06 19:16:35

Disassembling Programs

Time of First Successful Submission: 2026-06-06 19:42:44

Tracing Syscalls

Time of First Successful Submission: 2026-06-06 19:45:13

Starting GDB

Time of First Successful Submission: 2026-06-06 19:46:13

Quitting GDB

Time of First Successful Submission: 2026-06-09 19:49:48

Starting Programs in GDB

Time of First Successful Submission: 2026-06-09 19:51:31

Disassembling in GDB

Time of First Successful Submission: 2026-06-09 19:52:46

Stepping Through Instructions

Time of First Successful Submission: 2026-06-09 19:53:58

Reading Register Values

Time of First Successful Submission: 2026-06-09 19:54:51

Popping Stack Values

Time of First Successful Submission: 2026-06-09 20:06:48

Examining Memory

Time of First Successful Submission: 2026-06-09 20:08:30

Examining Stack Pointers

Time of First Successful Submission: 2026-06-09 20:11:10

Cooperative Debugging

Time of First Successful Submission: 2026-06-09 20:14:45

Running with Arguments

Time of First Successful Submission: 2026-06-09 20:15:55

Writing Output

Time of First Successful Submission: 2026-06-09 21:12:38

Chaining Syscalls

Time of First Successful Submission: 2026-06-09 21:14:31

Writing Strings

Time of First Successful Submission: 2026-06-09 21:15:17

Reading Data

Time of First Successful Submission: 2026-06-09 21:22:59

Opening Files

Time of First Successful Submission: 2026-06-09 21:49:07

Hardcoding the Filename

Time of First Successful Submission: 2026-06-09 21:55:24

Comparing Values

Time of First Successful Submission: 2026-06-09 22:09:50

Comparing Characters

Time of First Successful Submission: 2026-06-09 22:40:07

Conditional Control Flow

Time of First Successful Submission: 2026-06-09 22:44:09

Comparing Strings

Time of First Successful Submission: 2026-06-09 22:46:23

Reverse the Password

Time of First Successful Submission: 2026-06-09 22:50:47

Conditionals Without Conditionals

Time of First Successful Submission: 2026-06-09 23:21:30

Looping

Time of First Successful Submission: 2026-06-09 23:43:30

Writing From a Shared Library

Time of First Successful Submission: 2026-06-09 23:54:46

Returning a Value

Time of First Successful Submission: 2026-06-10 01:28:17

Calling Through a Pointer

Time of First Successful Submission: 2026-06-10 01:30:24

Calling Through a Pointer with an Argument

Time of First Successful Submission: 2026-06-10 01:32:07

Saving Caller-Saved Registers

Time of First Successful Submission: 2026-06-10 01:38:15

Saving Callee-Saved Registers

Time of First Successful Submission: 2026-06-10 01:42:06

Little-Endian Bytes

Time of First Successful Submission: 2026-06-10 14:57:13

Qword by Qword

Time of First Successful Submission: 2026-06-10 15:02:48

Dword by Dword

Time of First Successful Submission: 2026-06-10 15:07:57

Word by Word

Time of First Successful Submission: 2026-06-10 15:09:55

Byte by Byte

Time of First Successful Submission: 2026-06-10 15:11:32

Cracking a Struct

Time of First Successful Submission: 2026-06-10 15:17:51

Scrambled Struct

Time of First Successful Submission: 2026-06-10 15:21:55

Reverse the Calculation

Time of First Successful Submission: 2026-06-11 01:40:01

Reverse the Reverse

Time of First Successful Submission: 2026-06-11 01:41:41

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-06-11 01:44:23

Even or Odd

Time of First Successful Submission: 2026-06-11 01:50:25

Masking Bits

Time of First Successful Submission: 2026-06-11 01:55:46

Lowercase a String

Time of First Successful Submission: 2026-06-11 02:20:13

Uppercase a String

Time of First Successful Submission: 2026-06-11 02:25:48

Swap Case

Time of First Successful Submission: 2026-06-11 02:29:37

Shifting Left

Time of First Successful Submission: 2026-06-11 02:31:26

Shifting Right

Time of First Successful Submission: 2026-06-11 02:34:47

Loops on Data

Time of First Successful Submission: 2026-06-11 02:40:38

Reaching Into the Caller's Frame

Time of First Successful Submission: 2026-06-11 18:41:51

Using Your Own Frame

Time of First Successful Submission: 2026-06-11 19:17:04

Environment Variables on the Stack

Time of First Successful Submission: 2026-06-11 19:23:42

Aligning the Stack Through the Environment

Time of First Successful Submission: 2026-06-11 19:51:48

Aligning the Stack Through GDB

Time of First Successful Submission: 2026-06-11 21:57:23

Aligning the Stack Through GDB, Generalized

Time of First Successful Submission: 2026-06-11 22:02:45

A Single Digit

Time of First Successful Submission: 2026-06-11 22:14:13

Two Digits

Time of First Successful Submission: 2026-06-11 23:14:43

String to Integer

Time of First Successful Submission: 2026-06-11 23:19:41

Negative Numbers

Time of First Successful Submission: 2026-06-11 23:23:14

Where the Number Ends

Time of First Successful Submission: 2026-06-11 23:28:58

A Whole Program

Time of First Successful Submission: 2026-06-11 23:32:59

A Single Digit, Back to Text

Time of First Successful Submission: 2026-06-12 02:58:58

Divide and Remainder

Time of First Successful Submission: 2026-06-12 22:13:46

Drop the Leading Zero

Time of First Successful Submission: 2026-06-12 22:18:50

Integer to String

Time of First Successful Submission: 2026-06-12 22:41:25

Negative Numbers, Back to Text

Time of First Successful Submission: 2026-06-12 23:11:18

Sum Them All

Time of First Successful Submission: 2026-06-13 03:11:49

Addition

Time of First Successful Submission: 2026-06-13 16:53:05

Subtraction

Time of First Successful Submission: 2026-06-13 16:57:11

Multiplication

Time of First Successful Submission: 2026-06-13 16:59:08

Bitwise Operators

Time of First Successful Submission: 2026-06-13 17:02:44

Unary Operators

Time of First Successful Submission: 2026-06-13 17:18:37

Literal Output

Time of First Successful Submission: 2026-06-13 18:07:41

Newline Escapes

Time of First Successful Submission: 2026-06-13 18:26:55

Escaped Syntax

Time of First Successful Submission: 2026-06-13 18:30:17

Decimal Markers

Time of First Successful Submission: 2026-06-13 19:01:10

Multiple Decimal Markers

Time of First Successful Submission: 2026-06-13 19:03:57

String Markers

Time of First Successful Submission: 2026-06-13 19:25:57

Hex Byte Escapes

Time of First Successful Submission: 2026-06-13 20:00:31

Exit

Time of First Successful Submission: 2026-06-14 16:49:54

Socket

Time of First Successful Submission: 2026-06-14 16:57:13

Bind

Time of First Successful Submission: 2026-06-14 17:36:12

Listen

Time of First Successful Submission: 2026-06-14 17:43:22

Accept

Time of First Successful Submission: 2026-06-14 17:48:06

Static Response

Time of First Successful Submission: 2026-06-14 18:24:55

Dynamic Response

Time of First Successful Submission: 2026-06-14 19:37:12

Iterative GET Server

Time of First Successful Submission: 2026-06-14 20:24:44

Concurrent GET Server

Time of First Successful Submission: 2026-06-14 22:33:13

Concurrent POST Server

Time of First Successful Submission: 2026-06-14 23:42:57

Web Server

Time of First Successful Submission: 2026-06-14 23:43:55


DSU Cyber Camps

12 / 104 3090 / 48380


Using the Terminal

Time of First Successful Submission: 2026-06-03 00:59:59

Using the VSCode Workspace

Time of First Successful Submission: 2026-06-03 18:13:34

Using the GUI Desktop

Time of First Successful Submission: 2026-06-03 01:02:21

Pasting into the Desktop

Time of First Successful Submission: 2026-06-03 01:03:14

Connecting over SSH

Time of First Successful Submission: 2026-06-03 01:06:17

Restarting Challenges

Time of First Successful Submission: 2026-06-03 01:10:19

Getting Help

Time of First Successful Submission: 2026-06-03 01:11:47

Challenge Programs

Time of First Successful Submission: 2026-06-03 18:17:40

The Flag File

Time of First Successful Submission: 2026-06-03 18:19:00

Using Privileged Mode

Time of First Successful Submission: 2026-06-03 18:21:13

Persistent Home Directories - One

Time of First Successful Submission: 2026-06-03 18:23:14

Persistent Home Directories - Two

Time of First Successful Submission: 2026-06-03 18:23:47


GCA CTF

12 / 104 3090 / 48380


Using the Terminal

Time of First Successful Submission: 2026-06-03 00:59:59

Using the VSCode Workspace

Time of First Successful Submission: 2026-06-03 18:13:34

Using the GUI Desktop

Time of First Successful Submission: 2026-06-03 01:02:21

Pasting into the Desktop

Time of First Successful Submission: 2026-06-03 01:03:14

Connecting over SSH

Time of First Successful Submission: 2026-06-03 01:06:17

Restarting Challenges

Time of First Successful Submission: 2026-06-03 01:10:19

Getting Help

Time of First Successful Submission: 2026-06-03 01:11:47

Challenge Programs

Time of First Successful Submission: 2026-06-03 18:17:40

The Flag File

Time of First Successful Submission: 2026-06-03 18:19:00

Using Privileged Mode

Time of First Successful Submission: 2026-06-03 18:21:13

Persistent Home Directories - One

Time of First Successful Submission: 2026-06-03 18:23:14

Persistent Home Directories - Two

Time of First Successful Submission: 2026-06-03 18:23:47