d2f

🐧

Intro to Programming Languages

15 / 234 9658 / 33082


Commands

Time of First Successful Submission: 2026-04-06 00:41:17

Command Arguments

Time of First Successful Submission: 2026-04-06 00:43:35

Command History

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

The Root Path

Time of First Successful Submission: 2026-04-06 00:55:01

Absolute Paths

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

Changing position

Time of First Successful Submission: 2026-04-06 01:00:00

Changing to an Absolute Path

Time of First Successful Submission: 2026-04-06 05:29:28

Relative Paths

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

Cat

Time of First Successful Submission: 2026-04-06 05:52:23

Ls

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

Ls All

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

Find

Time of First Successful Submission: 2026-04-06 08:04:40

Piping Echo

Time of First Successful Submission: 2026-04-06 15:57:25

Piping Stdout

Time of First Successful Submission: 2026-04-06 16:00:41

Piping Stdin

Time of First Successful Submission: 2026-04-06 16:12:05


Intro to Cybersecurity

1 / 183 20456 / 20510


File Formats: Magic Numbers (Python)

Time of First Successful Submission: 2026-04-15 17:31:39


Start Here

12 / 12 2025 / 44758


Using the Terminal

Time of First Successful Submission: 2026-04-05 16:52:59

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-05 17:06:16

Using the GUI Desktop

Time of First Successful Submission: 2026-04-05 17:25:41

Pasting into the Desktop

Time of First Successful Submission: 2026-04-05 23:56:10

Restarting Challenges

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

Challenge Programs

Time of First Successful Submission: 2026-04-06 02:35:37

The Flag File

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

Using Privileged Mode

Time of First Successful Submission: 2026-04-06 02:45:37

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-06 02:52:30

Persistent Home Directories - Two

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


Linux Luminarium

128 / 128 2721 / 33513


Intro to Commands

Time of First Successful Submission: 2026-04-06 00:41:17

Intro to Arguments

Time of First Successful Submission: 2026-04-06 00:43:35

Command History

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

The Root

Time of First Successful Submission: 2026-04-06 00:55:01

Program and absolute paths

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

Position thy self

Time of First Successful Submission: 2026-04-06 01:00:00

Position elsewhere

Time of First Successful Submission: 2026-04-06 05:29:28

implicit relative paths, from /

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

explicit relative paths, from /

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

implicit relative path

Time of First Successful Submission: 2026-04-06 05:36:25

home sweet home

Time of First Successful Submission: 2026-04-06 05:50:43

cat: not the pet, but the command!

Time of First Successful Submission: 2026-04-06 05:52:23

catting absolute paths

Time of First Successful Submission: 2026-04-06 05:53:12

more catting practice

Time of First Successful Submission: 2026-04-06 05:54:48

grepping for a needle in a haystack

Time of First Successful Submission: 2026-04-06 05:56:25

comparing files

Time of First Successful Submission: 2026-04-06 05:59:30

listing files

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

touching files

Time of First Successful Submission: 2026-04-06 06:02:40

removing files

Time of First Successful Submission: 2026-04-06 06:07:25

moving files

Time of First Successful Submission: 2026-04-06 06:12:05

copying files

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

hidden files

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

An Epic Filesystem Quest

Time of First Successful Submission: 2026-04-06 07:12:59

making directories

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

finding files

Time of First Successful Submission: 2026-04-06 08:04:40

linking files

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

Learning From Documentation

Time of First Successful Submission: 2026-04-06 14:13:32

Learning Complex Usage

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

Reading Manuals

Time of First Successful Submission: 2026-04-06 14:23:24

Searching Manuals

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

Searching For Manuals

Time of First Successful Submission: 2026-04-06 14:34:09

Helpful Programs

Time of First Successful Submission: 2026-04-06 14:48:08

Help for Builtins

Time of First Successful Submission: 2026-04-06 14:51:32

Matching with *

Time of First Successful Submission: 2026-04-06 14:56:55

Matching with ?

Time of First Successful Submission: 2026-04-06 14:57:47

Matching with []

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

Matching paths with []

Time of First Successful Submission: 2026-04-06 15:13:23

Multiple globs

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

Mixing globs

Time of First Successful Submission: 2026-04-06 15:21:35

Exclusionary globbing

Time of First Successful Submission: 2026-04-06 15:23:48

Tab completion

Time of First Successful Submission: 2026-04-06 15:28:39

Multiple options for tab completion

Time of First Successful Submission: 2026-04-06 15:32:29

Tab completion on commands

Time of First Successful Submission: 2026-04-06 15:33:17

Redirecting output

Time of First Successful Submission: 2026-04-06 15:57:25

Redirecting more output

Time of First Successful Submission: 2026-04-06 16:00:41

Appending output

Time of First Successful Submission: 2026-04-06 16:02:08

Redirecting errors

Time of First Successful Submission: 2026-04-06 16:06:42

Redirecting input

Time of First Successful Submission: 2026-04-06 16:12:05

Grepping stored results

Time of First Successful Submission: 2026-04-06 16:15:19

Grepping live output

Time of First Successful Submission: 2026-04-06 16:15:57

Grepping errors

Time of First Successful Submission: 2026-04-06 16:20:29

Filtering with grep -v

Time of First Successful Submission: 2026-04-06 16:21:54

Filtering with sed

Time of First Successful Submission: 2026-04-06 16:24:56

Duplicating piped data with tee

Time of First Successful Submission: 2026-04-06 16:54:08

Process substitution for input

Time of First Successful Submission: 2026-04-07 03:40:34

Writing to multiple programs

Time of First Successful Submission: 2026-04-07 03:44:39

Split-piping stderr and stdout

Time of First Successful Submission: 2026-04-07 03:49:58

Named pipes

Time of First Successful Submission: 2026-04-07 03:56:23

Printing Variables

Time of First Successful Submission: 2026-04-07 04:00:37

Setting Variables

Time of First Successful Submission: 2026-04-07 04:02:02

Multi-word Variables

Time of First Successful Submission: 2026-04-07 04:04:03

Exporting Variables

Time of First Successful Submission: 2026-04-07 04:07:10

Printing Exported Variables

Time of First Successful Submission: 2026-04-07 04:12:12

Storing Command Output

Time of First Successful Submission: 2026-04-07 04:13:28

Reading Input

Time of First Successful Submission: 2026-04-07 04:18:37

Reading Files

Time of First Successful Submission: 2026-04-07 04:20:13

Translating characters

Time of First Successful Submission: 2026-04-07 04:23:52

Deleting characters

Time of First Successful Submission: 2026-04-07 04:24:48

Deleting newlines

Time of First Successful Submission: 2026-04-07 04:25:41

Extracting the first lines with head

Time of First Successful Submission: 2026-04-07 04:28:08

Extracting specific sections of text

Time of First Successful Submission: 2026-04-07 04:37:08

Sorting data

Time of First Successful Submission: 2026-04-07 04:39:25

Listing Processes

Time of First Successful Submission: 2026-04-07 04:48:00

Killing Processes

Time of First Successful Submission: 2026-04-07 04:49:28

Interrupting Processes

Time of First Successful Submission: 2026-04-07 06:24:46

Killing Misbehaving Processes

Time of First Successful Submission: 2026-04-07 06:41:47

Suspending Processes

Time of First Successful Submission: 2026-04-07 06:44:46

Resuming Processes

Time of First Successful Submission: 2026-04-07 06:45:42

Backgrounding Processes

Time of First Successful Submission: 2026-04-07 06:56:10

Foregrounding Processes

Time of First Successful Submission: 2026-04-07 07:10:31

Starting Backgrounded Processes

Time of First Successful Submission: 2026-04-07 07:12:54

Process Exit Codes

Time of First Successful Submission: 2026-04-07 07:14:54

Becoming root with su

Time of First Successful Submission: 2026-04-07 07:21:44

Other users with su

Time of First Successful Submission: 2026-04-07 07:23:42

Cracking passwords

Time of First Successful Submission: 2026-04-07 07:30:07

Using sudo

Time of First Successful Submission: 2026-04-07 07:37:10

Changing File Ownership

Time of First Successful Submission: 2026-04-07 13:10:04

Groups and Files

Time of First Successful Submission: 2026-04-07 13:16:28

Fun With Groups Names

Time of First Successful Submission: 2026-04-07 13:27:25

Changing Permissions

Time of First Successful Submission: 2026-04-07 13:38:36

Executable Files

Time of First Successful Submission: 2026-04-07 13:41:54

Permission Tweaking Practice

Time of First Successful Submission: 2026-04-07 13:51:12

Permissions Setting Practice

Time of First Successful Submission: 2026-04-07 13:58:56

The SUID Bit

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

Chaining with Semicolons

Time of First Successful Submission: 2026-04-08 04:44:41

Building on Success

Time of First Successful Submission: 2026-04-08 04:46:05

Handling Failure

Time of First Successful Submission: 2026-04-08 04:54:12

Your First Shell Script

Time of First Successful Submission: 2026-04-08 04:57:16

Redirecting Script Output

Time of First Successful Submission: 2026-04-08 05:04:19

Executable Shell Scripts

Time of First Successful Submission: 2026-04-08 05:07:31

Understanding Shebangs

Time of First Successful Submission: 2026-04-08 05:17:58

Scripting with Arguments

Time of First Successful Submission: 2026-04-08 05:21:38

Scripting with Conditionals

Time of First Successful Submission: 2026-04-08 05:28:44

Scripting with Default Cases

Time of First Successful Submission: 2026-04-08 05:30:31

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-04-08 05:35:50

Reading Shell Scripts

Time of First Successful Submission: 2026-04-08 05:38:59

Launching Screen

Time of First Successful Submission: 2026-04-08 05:58:42

Detaching and Attaching

Time of First Successful Submission: 2026-04-08 06:08:57

Finding Sessions

Time of First Successful Submission: 2026-04-08 06:10:17

Switching Windows

Time of First Successful Submission: 2026-04-08 06:11:35

Detaching and Attaching (tmux)

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

Switching Windows (tmux)

Time of First Successful Submission: 2026-04-08 06:18:55

The PATH Variable

Time of First Successful Submission: 2026-04-08 08:46:36

Setting PATH

Time of First Successful Submission: 2026-04-08 08:53:00

Finding Commands

Time of First Successful Submission: 2026-04-08 08:57:31

Adding Commands

Time of First Successful Submission: 2026-04-08 09:11:56

Hijacking Commands

Time of First Successful Submission: 2026-04-08 09:21:51

Bashrc Backdoor

Time of First Successful Submission: 2026-04-08 09:35:46

Sniffing Input

Time of First Successful Submission: 2026-04-08 09:57:16

Overshared Directories

Time of First Successful Submission: 2026-04-08 10:24:47

Tricky Linking

Time of First Successful Submission: 2026-04-08 11:44:27

Sniffing Process Arguments

Time of First Successful Submission: 2026-04-08 11:54:00

Snooping on Configurations

Time of First Successful Submission: 2026-04-08 11:59:01

The Fork Bomb

Time of First Successful Submission: 2026-04-08 13:45:31

Disk-Space Doomsday

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

rm -rf /

Time of First Successful Submission: 2026-04-08 13:56:50

Life after rm -rf /

Time of First Successful Submission: 2026-04-08 14:01:59

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-04-08 14:07:36


Computing 101

91 / 94 495 / 22127


Your First Register

Time of First Successful Submission: 2026-04-08 14:19:51

Your First Syscall

Time of First Successful Submission: 2026-04-08 14:22:23

Exit Codes

Time of First Successful Submission: 2026-04-08 14:25:04

Building Executables

Time of First Successful Submission: 2026-04-08 14:34:28

Moving Between Registers

Time of First Successful Submission: 2026-04-08 14:41:15

Loading From Memory

Time of First Successful Submission: 2026-04-08 15:36:29

More Loading Practice

Time of First Successful Submission: 2026-04-08 15:40:14

Dereferencing Pointers

Time of First Successful Submission: 2026-04-08 15:53:45

Dereferencing Yourself

Time of First Successful Submission: 2026-04-08 16:00:07

Dereferencing with Offsets

Time of First Successful Submission: 2026-04-08 16:01:36

Stored Addresses

Time of First Successful Submission: 2026-04-08 16:05:13

Double Dereference

Time of First Successful Submission: 2026-04-08 16:07:40

The Stack

Time of First Successful Submission: 2026-04-08 16:10:25

Stack Offsets

Time of First Successful Submission: 2026-04-08 16:16:33

Program Arguments on the Stack

Time of First Successful Submission: 2026-04-08 16:19:26

Popping From the Stack

Time of First Successful Submission: 2026-04-08 16:33:05

Disassembling Programs

Time of First Successful Submission: 2026-04-09 02:17:46

Tracing Syscalls

Time of First Successful Submission: 2026-04-09 02:24:18

Starting GDB

Time of First Successful Submission: 2026-04-09 02:26:31

Quitting GDB

Time of First Successful Submission: 2026-04-09 02:26:58

Starting Programs in GDB

Time of First Successful Submission: 2026-04-09 02:44:30

Disassembling in GDB

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

Stepping Through Instructions

Time of First Successful Submission: 2026-04-09 02:56:33

Reading Register Values

Time of First Successful Submission: 2026-04-09 02:58:21

Popping Stack Values

Time of First Successful Submission: 2026-04-09 03:00:37

Examining Memory

Time of First Successful Submission: 2026-04-09 03:09:53

Examining Stack Pointers

Time of First Successful Submission: 2026-04-09 03:14:46

Cooperative Debugging

Time of First Successful Submission: 2026-04-09 03:24:26

Writing Output

Time of First Successful Submission: 2026-04-09 08:08:16

Chaining Syscalls

Time of First Successful Submission: 2026-04-09 08:11:23

Writing Strings

Time of First Successful Submission: 2026-04-09 08:13:42

Reading Data

Time of First Successful Submission: 2026-04-09 08:20:50

Opening Files

Time of First Successful Submission: 2026-04-09 08:43:09

Hardcoding the Filename

Time of First Successful Submission: 2026-04-09 08:51:08

Comparing Values

Time of First Successful Submission: 2026-04-09 09:14:47

Comparing Characters

Time of First Successful Submission: 2026-04-09 09:17:36

Conditional Control Flow

Time of First Successful Submission: 2026-04-09 16:31:17

Comparing Strings

Time of First Successful Submission: 2026-04-09 16:37:53

Reverse the Password

Time of First Successful Submission: 2026-04-09 16:46:17

Conditionals Without Conditionals

Time of First Successful Submission: 2026-04-09 17:20:26

Looping

Time of First Successful Submission: 2026-04-10 05:40:27

Reverse the Calculation

Time of First Successful Submission: 2026-04-10 05:47:34

Reverse the Reverse

Time of First Successful Submission: 2026-04-10 05:48:42

Dealing with Bitwise Operations

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

Loops on Data

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

set-register

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

set-multiple-registers

Time of First Successful Submission: 2026-04-10 06:14:49

add-to-register

Time of First Successful Submission: 2026-04-10 06:15:52

linear-equation-registers

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

integer-division

Time of First Successful Submission: 2026-04-10 06:36:26

modulo-operation

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

set-upper-byte

Time of First Successful Submission: 2026-04-10 06:40:32

efficient-modulo

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

byte-extraction

Time of First Successful Submission: 2026-04-10 06:55:34

bitwise-and

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

check-even

Time of First Successful Submission: 2026-04-10 15:02:39

memory-read

Time of First Successful Submission: 2026-04-10 15:07:22

memory-write

Time of First Successful Submission: 2026-04-10 15:08:10

memory-increment

Time of First Successful Submission: 2026-04-10 15:19:41

byte-access

Time of First Successful Submission: 2026-04-10 15:23:52

memory-size-access

Time of First Successful Submission: 2026-04-10 15:27:12

little-endian-write

Time of First Successful Submission: 2026-04-10 15:29:15

memory-sum

Time of First Successful Submission: 2026-04-10 15:32:35

stack-subtraction

Time of First Successful Submission: 2026-04-10 15:34:32

swap-stack-values

Time of First Successful Submission: 2026-04-10 15:36:44

average-stack-values

Time of First Successful Submission: 2026-04-10 15:39:48

absolute-jump

Time of First Successful Submission: 2026-04-11 11:09:02

relative-jump

Time of First Successful Submission: 2026-04-11 11:12:27

jump-trampoline

Time of First Successful Submission: 2026-04-11 11:17:43

conditional-jump

Time of First Successful Submission: 2026-04-11 11:36:56

indirect-jump

Time of First Successful Submission: 2026-04-11 11:45:57

average-loop

Time of First Successful Submission: 2026-04-11 11:55:19

count-non-zero

Time of First Successful Submission: 2026-04-11 14:29:35

string-lower

Time of First Successful Submission: 2026-04-11 15:29:33

most-common-byte

Time of First Successful Submission: 2026-04-13 05:40:04

Exit

Time of First Successful Submission: 2026-04-13 05:43:47

Socket

Time of First Successful Submission: 2026-04-13 05:59:20

Bind

Time of First Successful Submission: 2026-04-13 06:26:14

Listen

Time of First Successful Submission: 2026-04-14 13:04:32

Accept

Time of First Successful Submission: 2026-04-14 13:53:30

Static Response

Time of First Successful Submission: 2026-04-14 15:54:03

Dynamic Response

Time of First Successful Submission: 2026-04-14 17:56:26

Iterative GET Server

Time of First Successful Submission: 2026-04-14 18:09:14

Concurrent GET Server

Time of First Successful Submission: 2026-04-15 12:53:21

Concurrent POST Server

Time of First Successful Submission: 2026-04-15 13:04:22

Web Server

Time of First Successful Submission: 2026-04-15 13:14:58

Debugging Programs

Time of First Successful Submission: 2026-04-15 13:24:34

Inspecting Registers

Time of First Successful Submission: 2026-04-15 13:28:25

Examining Memory

Time of First Successful Submission: 2026-04-15 13:48:32

Setting Breakpoints

Time of First Successful Submission: 2026-04-15 14:11:49

GDB Scripting

Time of First Successful Submission: 2026-04-15 14:38:39


GCA CTF

12 / 104 2270 / 45039


Using the Terminal

Time of First Successful Submission: 2026-04-05 16:52:59

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-05 17:06:16

Using the GUI Desktop

Time of First Successful Submission: 2026-04-05 17:25:41

Pasting into the Desktop

Time of First Successful Submission: 2026-04-05 23:56:10

Connecting over SSH

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

Restarting Challenges

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

Getting Help

Time of First Successful Submission: 2026-04-06 02:34:10

Challenge Programs

Time of First Successful Submission: 2026-04-06 02:35:37

The Flag File

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

Using Privileged Mode

Time of First Successful Submission: 2026-04-06 02:45:37

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-06 02:52:30

Persistent Home Directories - Two

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