Aleph0

💻

Intro to Programming Languages

15 / 253 10902 / 37181


Commands

Time of First Successful Submission: 2026-06-02 16:46:38

Command Arguments

Time of First Successful Submission: 2026-06-02 16:47:38

Command History

Time of First Successful Submission: 2026-06-02 16:49:24

The Root Path

Time of First Successful Submission: 2026-06-02 16:51:23

Absolute Paths

Time of First Successful Submission: 2026-06-02 16:54:20

Changing position

Time of First Successful Submission: 2026-06-02 16:57:01

Changing to an Absolute Path

Time of First Successful Submission: 2026-06-02 16:59:07

Relative Paths

Time of First Successful Submission: 2026-06-02 17:02:27

Cat

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

Ls

Time of First Successful Submission: 2026-06-02 17:22:36

Ls All

Time of First Successful Submission: 2026-06-02 17:38:20

Find

Time of First Successful Submission: 2026-06-02 18:08:34

Piping Echo

Time of First Successful Submission: 2026-06-03 15:10:50

Piping Stdout

Time of First Successful Submission: 2026-06-03 15:16:51

Piping Stdin

Time of First Successful Submission: 2026-06-03 15:34:09


Start Here

12 / 12 2759 / 51059


Using the Terminal

Time of First Successful Submission: 2026-06-01 17:36:18

Using the VSCode Workspace

Time of First Successful Submission: 2026-06-01 17:39:48

Using the GUI Desktop

Time of First Successful Submission: 2026-06-01 17:43:30

Pasting into the Desktop

Time of First Successful Submission: 2026-06-01 17:45:30

Restarting Challenges

Time of First Successful Submission: 2026-06-01 17:52:57

Challenge Programs

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

The Flag File

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

Using Privileged Mode

Time of First Successful Submission: 2026-06-01 18:08:02

Persistent Home Directories - One

Time of First Successful Submission: 2026-06-01 18:13:53

Persistent Home Directories - Two

Time of First Successful Submission: 2026-06-01 18:14:52


Linux Luminarium

110 / 128 6832 / 37691


Intro to Commands

Time of First Successful Submission: 2026-06-02 16:46:38

Intro to Arguments

Time of First Successful Submission: 2026-06-02 16:47:38

Command History

Time of First Successful Submission: 2026-06-02 16:49:24

The Root

Time of First Successful Submission: 2026-06-02 16:51:23

Program and absolute paths

Time of First Successful Submission: 2026-06-02 16:54:20

Position thy self

Time of First Successful Submission: 2026-06-02 16:57:01

Position elsewhere

Time of First Successful Submission: 2026-06-02 16:59:07

implicit relative paths, from /

Time of First Successful Submission: 2026-06-02 17:02:27

explicit relative paths, from /

Time of First Successful Submission: 2026-06-02 17:06:26

implicit relative path

Time of First Successful Submission: 2026-06-02 17:07:55

home sweet home

Time of First Successful Submission: 2026-06-02 17:11:10

cat: not the pet, but the command!

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

catting absolute paths

Time of First Successful Submission: 2026-06-02 17:15:31

more catting practice

Time of First Successful Submission: 2026-06-02 17:16:30

grepping for a needle in a haystack

Time of First Successful Submission: 2026-06-02 17:19:09

comparing files

Time of First Successful Submission: 2026-06-02 17:21:31

listing files

Time of First Successful Submission: 2026-06-02 17:22:36

touching files

Time of First Successful Submission: 2026-06-02 17:32:42

removing files

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

moving files

Time of First Successful Submission: 2026-06-02 17:35:15

copying files

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

hidden files

Time of First Successful Submission: 2026-06-02 17:38:20

An Epic Filesystem Quest

Time of First Successful Submission: 2026-06-02 17:54:10

making directories

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

finding files

Time of First Successful Submission: 2026-06-02 18:08:34

linking files

Time of First Successful Submission: 2026-06-02 18:13:33

Learning From Documentation

Time of First Successful Submission: 2026-06-02 18:19:55

Learning Complex Usage

Time of First Successful Submission: 2026-06-02 18:25:42

Reading Manuals

Time of First Successful Submission: 2026-06-02 18:30:36

Searching Manuals

Time of First Successful Submission: 2026-06-02 18:32:53

Searching For Manuals

Time of First Successful Submission: 2026-06-02 18:53:01

Helpful Programs

Time of First Successful Submission: 2026-06-02 18:56:45

Help for Builtins

Time of First Successful Submission: 2026-06-02 18:58:26

Matching with *

Time of First Successful Submission: 2026-06-03 14:02:35

Matching with ?

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

Matching with []

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

Matching paths with []

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

Multiple globs

Time of First Successful Submission: 2026-06-03 14:24:12

Mixing globs

Time of First Successful Submission: 2026-06-03 14:34:42

Exclusionary globbing

Time of First Successful Submission: 2026-06-03 14:47:56

Tab completion

Time of First Successful Submission: 2026-06-03 14:56:12

Multiple options for tab completion

Time of First Successful Submission: 2026-06-03 14:58:41

Tab completion on commands

Time of First Successful Submission: 2026-06-03 15:00:57

Redirecting output

Time of First Successful Submission: 2026-06-03 15:10:50

Redirecting more output

Time of First Successful Submission: 2026-06-03 15:16:51

Appending output

Time of First Successful Submission: 2026-06-03 15:21:46

Redirecting errors

Time of First Successful Submission: 2026-06-03 15:24:34

Redirecting input

Time of First Successful Submission: 2026-06-03 15:34:09

Grepping stored results

Time of First Successful Submission: 2026-06-03 15:37:29

Grepping live output

Time of First Successful Submission: 2026-06-03 15:39:00

Grepping errors

Time of First Successful Submission: 2026-06-03 15:43:51

Filtering with grep -v

Time of First Successful Submission: 2026-06-03 15:46:10

Filtering with sed

Time of First Successful Submission: 2026-06-03 16:01:29

Duplicating piped data with tee

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

Process substitution for input

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

Writing to multiple programs

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

Split-piping stderr and stdout

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

Named pipes

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

Printing Variables

Time of First Successful Submission: 2026-06-05 14:38:39

Setting Variables

Time of First Successful Submission: 2026-06-05 14:40:08

Multi-word Variables

Time of First Successful Submission: 2026-06-05 14:44:11

Exporting Variables

Time of First Successful Submission: 2026-06-05 14:50:29

Printing Exported Variables

Time of First Successful Submission: 2026-06-05 14:52:30

Storing Command Output

Time of First Successful Submission: 2026-06-05 14:55:25

Reading Input

Time of First Successful Submission: 2026-06-05 16:38:15

Reading Files

Time of First Successful Submission: 2026-06-05 16:41:55

Translating characters

Time of First Successful Submission: 2026-06-05 16:56:31

Deleting characters

Time of First Successful Submission: 2026-06-05 17:00:14

Deleting newlines

Time of First Successful Submission: 2026-06-05 17:08:15

Extracting the first lines with head

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

Extracting specific sections of text

Time of First Successful Submission: 2026-06-05 17:22:23

Sorting data

Time of First Successful Submission: 2026-06-05 17:26:41

Listing Processes

Time of First Successful Submission: 2026-06-05 17:53:42

Killing Processes

Time of First Successful Submission: 2026-06-05 17:58:17

Interrupting Processes

Time of First Successful Submission: 2026-06-08 13:43:18

Killing Misbehaving Processes

Time of First Successful Submission: 2026-06-08 13:46:09

Suspending Processes

Time of First Successful Submission: 2026-06-08 13:48:52

Resuming Processes

Time of First Successful Submission: 2026-06-08 13:51:24

Backgrounding Processes

Time of First Successful Submission: 2026-06-08 13:56:55

Foregrounding Processes

Time of First Successful Submission: 2026-06-08 14:02:21

Starting Backgrounded Processes

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

Process Exit Codes

Time of First Successful Submission: 2026-06-08 14:06:52

Becoming root with su

Time of First Successful Submission: 2026-06-10 10:26:18

Other users with su

Time of First Successful Submission: 2026-06-10 10:30:56

Cracking passwords

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

Using sudo

Time of First Successful Submission: 2026-06-10 13:15:41

Changing File Ownership

Time of First Successful Submission: 2026-07-11 10:58:25

Chaining with Semicolons

Time of First Successful Submission: 2026-06-11 14:47:58

Building on Success

Time of First Successful Submission: 2026-06-11 14:48:57

Handling Failure

Time of First Successful Submission: 2026-06-11 14:50:03

Your First Shell Script

Time of First Successful Submission: 2026-06-11 14:52:59

Redirecting Script Output

Time of First Successful Submission: 2026-06-11 15:40:47

Executable Shell Scripts

Time of First Successful Submission: 2026-06-11 17:49:21

Understanding Shebangs

Time of First Successful Submission: 2026-06-11 17:52:56

Scripting with Arguments

Time of First Successful Submission: 2026-06-11 18:06:31

Scripting with Conditionals

Time of First Successful Submission: 2026-06-11 18:14:52

Scripting with Default Cases

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

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-06-13 13:08:37

Reading Shell Scripts

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

Launching Screen

Time of First Successful Submission: 2026-06-13 13:15:34

Detaching and Attaching

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

Finding Sessions

Time of First Successful Submission: 2026-06-13 13:27:01

Switching Windows

Time of First Successful Submission: 2026-06-13 13:36:28

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-06-13 13:40:18

Switching Windows (tmux)

Time of First Successful Submission: 2026-06-13 13:41:36

The PATH Variable

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

Setting PATH

Time of First Successful Submission: 2026-06-13 13:48:35

Finding Commands

Time of First Successful Submission: 2026-06-13 13:52:11

Adding Commands

Time of First Successful Submission: 2026-06-13 16:45:22

Hijacking Commands

Time of First Successful Submission: 2026-06-13 16:47:36


Computing 101

132 / 132 40 / 21160


Your First Register

Time of First Successful Submission: 2026-06-05 12:47:51

Your First Syscall

Time of First Successful Submission: 2026-06-05 13:02:47

Exit Codes

Time of First Successful Submission: 2026-06-05 13:12:33

Building Executables

Time of First Successful Submission: 2026-06-05 14:20:12

Moving Between Registers

Time of First Successful Submission: 2026-06-05 14:26:44

Loading From Memory

Time of First Successful Submission: 2026-06-07 08:03:54

More Loading Practice

Time of First Successful Submission: 2026-06-07 08:06:12

Dereferencing Pointers

Time of First Successful Submission: 2026-06-07 11:32:21

Dereferencing Yourself

Time of First Successful Submission: 2026-06-07 12:11:17

Dereferencing with Offsets

Time of First Successful Submission: 2026-06-07 12:42:40

Stored Addresses

Time of First Successful Submission: 2026-06-07 15:38:03

Double Dereference

Time of First Successful Submission: 2026-06-07 15:40:34

The Stack

Time of First Successful Submission: 2026-06-07 15:47:32

Stack Offsets

Time of First Successful Submission: 2026-06-07 15:51:09

Program Arguments on the Stack

Time of First Successful Submission: 2026-06-07 18:16:26

Popping From the Stack

Time of First Successful Submission: 2026-06-07 20:42:19

Negative Numbers

Time of First Successful Submission: 2026-06-08 14:33:11

Negative Numbers (16-bit)

Time of First Successful Submission: 2026-06-08 14:37:44

Negative Numbers (32-bit)

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

Encoding Negatives

Time of First Successful Submission: 2026-06-09 10:27:47

Binary and Hex Encoding

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

More Hex

Time of First Successful Submission: 2026-06-09 12:35:51

Decoding Hex

Time of First Successful Submission: 2026-06-09 12:41:20

Mixed Conversions

Time of First Successful Submission: 2026-06-09 17:10:06

Disassembling Programs

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

Tracing Syscalls

Time of First Successful Submission: 2026-06-09 17:23:31

Starting GDB

Time of First Successful Submission: 2026-06-09 17:27:35

Quitting GDB

Time of First Successful Submission: 2026-06-09 17:28:46

Starting Programs in GDB

Time of First Successful Submission: 2026-06-09 17:30:09

Disassembling in GDB

Time of First Successful Submission: 2026-06-09 17:31:50

Stepping Through Instructions

Time of First Successful Submission: 2026-06-09 17:35:39

Reading Register Values

Time of First Successful Submission: 2026-06-09 17:39:29

Setting Register Values

Time of First Successful Submission: 2026-07-11 11:00:50

Popping Stack Values

Time of First Successful Submission: 2026-06-09 17:48:30

Examining Memory

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

Examining Stack Pointers

Time of First Successful Submission: 2026-06-09 18:08:29

Cooperative Debugging

Time of First Successful Submission: 2026-06-09 18:19:29

Running with Arguments

Time of First Successful Submission: 2026-06-09 18:26:22

Redirecting Input in GDB

Time of First Successful Submission: 2026-06-27 08:36:11

Writing Output

Time of First Successful Submission: 2026-06-10 15:54:53

Chaining Syscalls

Time of First Successful Submission: 2026-06-10 16:00:54

Writing Strings

Time of First Successful Submission: 2026-06-10 16:05:58

Reading Data

Time of First Successful Submission: 2026-06-10 16:32:49

Reading Exactly

Time of First Successful Submission: 2026-06-16 10:12:45

Opening Files

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

Hardcoding the Filename

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

RIP-Relative Strings

Time of First Successful Submission: 2026-06-13 17:36:32

Comparing Values

Time of First Successful Submission: 2026-06-13 17:06:22

Comparing Characters

Time of First Successful Submission: 2026-06-13 17:14:58

Conditional Control Flow

Time of First Successful Submission: 2026-06-13 17:23:31

Comparing Strings

Time of First Successful Submission: 2026-06-13 17:49:24

Reverse the Password

Time of First Successful Submission: 2026-06-13 18:10:31

Conditionals Without Conditionals

Time of First Successful Submission: 2026-06-14 11:58:57

Recognizing Loops

Time of First Successful Submission: 2026-06-14 12:29:53

Writing Loops

Time of First Successful Submission: 2026-07-11 10:53:07

Writing From a Shared Library

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

Returning a Value

Time of First Successful Submission: 2026-06-14 18:53:41

Calling Through a Pointer

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

Calling Through a Pointer with an Argument

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

Saving Caller-Saved Registers

Time of First Successful Submission: 2026-06-15 11:56:19

Saving Callee-Saved Registers

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

Sign Extension

Time of First Successful Submission: 2026-06-15 12:15:34

Little-Endian Bytes

Time of First Successful Submission: 2026-06-15 12:41:08

Qword by Qword

Time of First Successful Submission: 2026-06-15 14:30:09

Dword by Dword

Time of First Successful Submission: 2026-06-16 10:24:14

Word by Word

Time of First Successful Submission: 2026-06-16 10:29:29

Byte by Byte

Time of First Successful Submission: 2026-06-16 10:39:00

Cracking a Struct

Time of First Successful Submission: 2026-06-16 12:57:12

Scrambled Struct

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

Reverse the Calculation

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

Reverse the Reverse

Time of First Successful Submission: 2026-06-16 13:16:36

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-06-16 13:22:49

Even or Odd

Time of First Successful Submission: 2026-06-16 13:28:00

Masking Bits

Time of First Successful Submission: 2026-06-17 11:34:27

Lowercase a String

Time of First Successful Submission: 2026-06-17 14:05:31

Uppercase a String

Time of First Successful Submission: 2026-06-17 14:20:46

Swap Case

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

Shifting Left

Time of First Successful Submission: 2026-06-17 21:00:55

Shifting Right

Time of First Successful Submission: 2026-06-17 21:04:23

Loops on Data

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

Reaching Into the Caller's Frame

Time of First Successful Submission: 2026-06-18 11:17:34

Loading Stale Stack Data

Time of First Successful Submission: 2026-06-25 15:55:33

Stealing Stale Stack Data

Time of First Successful Submission: 2026-06-18 11:40:13

Reserving Your Own Frame

Time of First Successful Submission: 2026-06-18 12:51:14

Using Your Own Frame

Time of First Successful Submission: 2026-06-18 14:11:53

Environment Variables on the Stack

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

Aligning the Stack Through the Environment

Time of First Successful Submission: 2026-06-18 16:30:35

Aligning the Stack Through GDB

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

Aligning the Stack Through GDB, Generalized

Time of First Successful Submission: 2026-06-18 16:38:07

A Single Digit

Time of First Successful Submission: 2026-06-18 16:56:47

Two Digits

Time of First Successful Submission: 2026-06-18 17:07:50

String to Integer

Time of First Successful Submission: 2026-06-18 17:24:12

Negative Numbers

Time of First Successful Submission: 2026-06-18 18:48:01

Where the Number Ends

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

A Whole Program

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

A Single Digit, Back to Text

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

Divide and Remainder

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

Drop the Leading Zero

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

Integer to String

Time of First Successful Submission: 2026-06-19 17:22:23

Negative Numbers, Back to Text

Time of First Successful Submission: 2026-06-19 17:57:59

Sum Them All

Time of First Successful Submission: 2026-06-23 17:31:16

Addition

Time of First Successful Submission: 2026-06-23 18:52:21

Subtraction

Time of First Successful Submission: 2026-06-24 13:46:20

Multiplication

Time of First Successful Submission: 2026-06-24 13:48:46

Bitwise Operators

Time of First Successful Submission: 2026-06-24 13:55:30

Unary Operators

Time of First Successful Submission: 2026-06-24 14:12:42

Literal Output

Time of First Successful Submission: 2026-06-24 15:03:39

Newline Escapes

Time of First Successful Submission: 2026-06-26 17:40:08

Escaped Syntax

Time of First Successful Submission: 2026-07-06 14:20:14

Decimal Markers

Time of First Successful Submission: 2026-07-07 15:50:35

Multiple Decimal Markers

Time of First Successful Submission: 2026-07-07 15:51:38

String Markers

Time of First Successful Submission: 2026-07-07 15:56:30

Hex Byte Escapes

Time of First Successful Submission: 2026-07-08 17:26:05

Debugging Programs

Time of First Successful Submission: 2026-07-08 17:43:10

Inspecting Registers

Time of First Successful Submission: 2026-07-08 17:56:00

Examining Memory

Time of First Successful Submission: 2026-07-09 13:36:29

Setting Breakpoints

Time of First Successful Submission: 2026-07-09 14:18:37

GDB Scripting

Time of First Successful Submission: 2026-07-10 16:09:25

Modifying Data

Time of First Successful Submission: 2026-07-10 17:29:33

Modifying Execution

Time of First Successful Submission: 2026-07-10 17:47:06

Broken Functions

Time of First Successful Submission: 2026-07-10 18:31:26

Exit

Time of First Successful Submission: 2026-07-11 11:10:29

Socket

Time of First Successful Submission: 2026-07-12 19:21:10

Bind

Time of First Successful Submission: 2026-07-13 12:38:41

Listen

Time of First Successful Submission: 2026-07-13 14:12:00

Accept

Time of First Successful Submission: 2026-07-13 14:28:45

Static Response

Time of First Successful Submission: 2026-07-14 16:42:21

Dynamic Response

Time of First Successful Submission: 2026-07-14 22:22:27

Iterative GET Server

Time of First Successful Submission: 2026-07-15 08:03:58

Concurrent GET Server

Time of First Successful Submission: 2026-07-15 15:05:04

Concurrent POST Server

Time of First Successful Submission: 2026-07-15 17:25:00

Web Server

Time of First Successful Submission: 2026-07-15 18:21:53


DSU Cyber Camps

12 / 104 3076 / 51365


Using the Terminal

Time of First Successful Submission: 2026-06-01 17:36:18

Using the VSCode Workspace

Time of First Successful Submission: 2026-06-01 17:39:48

Using the GUI Desktop

Time of First Successful Submission: 2026-06-01 17:43:30

Pasting into the Desktop

Time of First Successful Submission: 2026-06-01 17:45:30

Connecting over SSH

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

Restarting Challenges

Time of First Successful Submission: 2026-06-01 17:52:57

Getting Help

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

Challenge Programs

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

The Flag File

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

Using Privileged Mode

Time of First Successful Submission: 2026-06-01 18:08:02

Persistent Home Directories - One

Time of First Successful Submission: 2026-06-01 18:13:53

Persistent Home Directories - Two

Time of First Successful Submission: 2026-06-01 18:14:52


GCA CTF

12 / 104 3076 / 51365


Using the Terminal

Time of First Successful Submission: 2026-06-01 17:36:18

Using the VSCode Workspace

Time of First Successful Submission: 2026-06-01 17:39:48

Using the GUI Desktop

Time of First Successful Submission: 2026-06-01 17:43:30

Pasting into the Desktop

Time of First Successful Submission: 2026-06-01 17:45:30

Connecting over SSH

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

Restarting Challenges

Time of First Successful Submission: 2026-06-01 17:52:57

Getting Help

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

Challenge Programs

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

The Flag File

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

Using Privileged Mode

Time of First Successful Submission: 2026-06-01 18:08:02

Persistent Home Directories - One

Time of First Successful Submission: 2026-06-01 18:13:53

Persistent Home Directories - Two

Time of First Successful Submission: 2026-06-01 18:14:52