erkrus

🐧

Intro to Programming Languages

15 / 253 14542 / 47780


Commands

Time of First Successful Submission: 2026-08-31 17:11:15

Command Arguments

Time of First Successful Submission: 2026-08-31 17:11:40

Command History

Time of First Successful Submission: 2026-08-31 17:12:09

The Root Path

Time of First Successful Submission: 2026-08-31 17:34:17

Absolute Paths

Time of First Successful Submission: 2026-08-31 17:34:47

Changing position

Time of First Successful Submission: 2026-08-31 17:35:19

Changing to an Absolute Path

Time of First Successful Submission: 2026-08-31 17:36:23

Relative Paths

Time of First Successful Submission: 2026-08-31 17:37:00

Cat

Time of First Successful Submission: 2026-08-31 17:42:11

Ls

Time of First Successful Submission: 2026-08-31 17:46:43

Ls All

Time of First Successful Submission: 2026-08-31 17:51:19

Find

Time of First Successful Submission: 2026-08-31 18:00:23

Piping Echo

Time of First Successful Submission: 2026-09-02 17:29:25

Piping Stdout

Time of First Successful Submission: 2026-09-02 17:33:08

Piping Stdin

Time of First Successful Submission: 2026-09-02 17:38:11


Start Here

10 / 10 16813 / 66217


Using the Terminal

Time of First Successful Submission: 2026-08-31 16:50:10

Using the VSCode Workspace

Time of First Successful Submission: 2026-08-31 16:51:55

Using the GUI Desktop

Time of First Successful Submission: 2026-08-31 16:53:42

Pasting into the Desktop

Time of First Successful Submission: 2026-08-31 16:55:02

Restarting Challenges

Time of First Successful Submission: 2026-08-31 16:57:18

Challenge Programs

Time of First Successful Submission: 2026-08-31 17:01:25

The Flag File

Time of First Successful Submission: 2026-08-31 17:02:35

Using Privileged Mode

Time of First Successful Submission: 2026-08-31 17:06:27

Persistent Home Directories - One

Time of First Successful Submission: 2026-08-31 17:08:40

Persistent Home Directories - Two

Time of First Successful Submission: 2026-08-31 17:09:19


Linux Luminarium

128 / 128 5209 / 48441


Intro to Commands

Time of First Successful Submission: 2026-08-31 17:11:15

Intro to Arguments

Time of First Successful Submission: 2026-08-31 17:11:40

Command History

Time of First Successful Submission: 2026-08-31 17:12:09

The Root

Time of First Successful Submission: 2026-08-31 17:34:17

Program and absolute paths

Time of First Successful Submission: 2026-08-31 17:34:47

Position thy self

Time of First Successful Submission: 2026-08-31 17:35:19

Position elsewhere

Time of First Successful Submission: 2026-08-31 17:36:23

implicit relative paths, from /

Time of First Successful Submission: 2026-08-31 17:37:00

explicit relative paths, from /

Time of First Successful Submission: 2026-08-31 17:37:38

implicit relative path

Time of First Successful Submission: 2026-08-31 17:38:12

home sweet home

Time of First Successful Submission: 2026-08-31 17:40:10

cat: not the pet, but the command!

Time of First Successful Submission: 2026-08-31 17:42:11

catting absolute paths

Time of First Successful Submission: 2026-08-31 17:42:40

more catting practice

Time of First Successful Submission: 2026-08-31 17:43:32

grepping for a needle in a haystack

Time of First Successful Submission: 2026-08-31 17:44:45

comparing files

Time of First Successful Submission: 2026-08-31 17:45:58

listing files

Time of First Successful Submission: 2026-08-31 17:46:43

touching files

Time of First Successful Submission: 2026-08-31 17:47:18

removing files

Time of First Successful Submission: 2026-08-31 17:48:33

moving files

Time of First Successful Submission: 2026-08-31 17:49:47

copying files

Time of First Successful Submission: 2026-08-31 17:50:23

hidden files

Time of First Successful Submission: 2026-08-31 17:51:19

An Epic Filesystem Quest

Time of First Successful Submission: 2026-08-31 17:57:12

making directories

Time of First Successful Submission: 2026-08-31 17:58:19

finding files

Time of First Successful Submission: 2026-08-31 18:00:23

linking files

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

Learning From Documentation

Time of First Successful Submission: 2026-09-02 16:09:24

Learning Complex Usage

Time of First Successful Submission: 2026-09-02 16:11:31

Reading Manuals

Time of First Successful Submission: 2026-09-02 16:14:30

Searching Manuals

Time of First Successful Submission: 2026-09-02 16:15:44

Searching For Manuals

Time of First Successful Submission: 2026-09-02 16:32:37

Helpful Programs

Time of First Successful Submission: 2026-09-02 16:33:57

Help for Builtins

Time of First Successful Submission: 2026-09-02 16:35:43

Matching with *

Time of First Successful Submission: 2026-09-02 16:38:20

Matching with ?

Time of First Successful Submission: 2026-09-02 16:39:16

Matching with []

Time of First Successful Submission: 2026-09-02 16:43:03

Matching paths with []

Time of First Successful Submission: 2026-09-02 16:44:03

Multiple globs

Time of First Successful Submission: 2026-09-02 16:45:25

Mixing globs

Time of First Successful Submission: 2026-09-02 16:51:51

Exclusionary globbing

Time of First Successful Submission: 2026-09-02 16:53:32

Tab completion

Time of First Successful Submission: 2026-09-02 16:54:51

Multiple options for tab completion

Time of First Successful Submission: 2026-09-02 16:55:45

Tab completion on commands

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

Redirecting output

Time of First Successful Submission: 2026-09-02 17:29:25

Redirecting more output

Time of First Successful Submission: 2026-09-02 17:33:08

Appending output

Time of First Successful Submission: 2026-09-02 17:34:47

Redirecting errors

Time of First Successful Submission: 2026-09-02 17:36:33

Redirecting input

Time of First Successful Submission: 2026-09-02 17:38:11

Grepping stored results

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

Grepping live output

Time of First Successful Submission: 2026-09-02 17:43:37

Grepping errors

Time of First Successful Submission: 2026-09-02 17:45:33

Filtering with grep -v

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

Filtering with sed

Time of First Successful Submission: 2026-09-02 17:52:14

Duplicating piped data with tee

Time of First Successful Submission: 2026-09-02 17:57:58

Process substitution for input

Time of First Successful Submission: 2026-09-02 23:48:42

Writing to multiple programs

Time of First Successful Submission: 2026-09-03 00:03:15

Split-piping stderr and stdout

Time of First Successful Submission: 2026-09-03 03:28:06

Named pipes

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

Printing Variables

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

Setting Variables

Time of First Successful Submission: 2026-09-03 04:05:11

Multi-word Variables

Time of First Successful Submission: 2026-09-03 04:05:51

Exporting Variables

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

Printing Exported Variables

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

Storing Command Output

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

Reading Input

Time of First Successful Submission: 2026-09-03 04:10:02

Reading Files

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

Translating characters

Time of First Successful Submission: 2026-09-03 23:52:24

Deleting characters

Time of First Successful Submission: 2026-09-03 23:53:14

Deleting newlines

Time of First Successful Submission: 2026-09-03 23:54:50

Extracting the first lines with head

Time of First Successful Submission: 2026-09-03 23:58:15

Extracting specific sections of text

Time of First Successful Submission: 2026-09-03 23:59:58

Sorting data

Time of First Successful Submission: 2026-09-04 00:00:46

Listing Processes

Time of First Successful Submission: 2026-09-04 16:50:01

Killing Processes

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

Interrupting Processes

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

Killing Misbehaving Processes

Time of First Successful Submission: 2026-09-04 17:01:51

Suspending Processes

Time of First Successful Submission: 2026-09-04 17:13:57

Resuming Processes

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

Backgrounding Processes

Time of First Successful Submission: 2026-09-04 17:18:56

Foregrounding Processes

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

Starting Backgrounded Processes

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

Process Exit Codes

Time of First Successful Submission: 2026-09-04 17:22:25

Becoming root with su

Time of First Successful Submission: 2026-09-04 17:25:39

Other users with su

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

Cracking passwords

Time of First Successful Submission: 2026-09-04 17:28:24

Using sudo

Time of First Successful Submission: 2026-09-04 17:30:55

Changing File Ownership

Time of First Successful Submission: 2026-09-04 17:33:42

Groups and Files

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

Fun With Groups Names

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

Changing Permissions

Time of First Successful Submission: 2026-09-04 17:38:43

Executable Files

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

Permission Tweaking Practice

Time of First Successful Submission: 2026-09-04 17:44:33

Permissions Setting Practice

Time of First Successful Submission: 2026-09-04 17:47:54

The SUID Bit

Time of First Successful Submission: 2026-09-04 17:49:35

Chaining with Semicolons

Time of First Successful Submission: 2026-09-04 17:50:55

Building on Success

Time of First Successful Submission: 2026-09-04 17:51:24

Handling Failure

Time of First Successful Submission: 2026-09-04 17:52:08

Your First Shell Script

Time of First Successful Submission: 2026-09-04 17:54:00

Redirecting Script Output

Time of First Successful Submission: 2026-09-04 17:54:40

Executable Shell Scripts

Time of First Successful Submission: 2026-09-04 17:55:58

Understanding Shebangs

Time of First Successful Submission: 2026-09-04 17:57:19

Scripting with Arguments

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

Scripting with Conditionals

Time of First Successful Submission: 2026-09-04 18:00:47

Scripting with Default Cases

Time of First Successful Submission: 2026-09-04 18:01:44

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-09-04 18:20:42

Reading Shell Scripts

Time of First Successful Submission: 2026-09-04 18:21:42

Launching Screen

Time of First Successful Submission: 2026-09-04 18:23:35

Detaching and Attaching

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

Finding Sessions

Time of First Successful Submission: 2026-09-04 18:25:55

Switching Windows

Time of First Successful Submission: 2026-09-04 18:26:44

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-09-04 18:27:32

Switching Windows (tmux)

Time of First Successful Submission: 2026-09-04 18:28:08

The PATH Variable

Time of First Successful Submission: 2026-09-04 22:49:17

Setting PATH

Time of First Successful Submission: 2026-09-04 22:50:30

Finding Commands

Time of First Successful Submission: 2026-09-04 22:51:17

Adding Commands

Time of First Successful Submission: 2026-09-05 00:13:30

Hijacking Commands

Time of First Successful Submission: 2026-09-05 00:15:20

Bashrc Backdoor

Time of First Successful Submission: 2026-09-05 00:22:10

Sniffing Input

Time of First Successful Submission: 2026-09-05 00:33:21

Overshared Directories

Time of First Successful Submission: 2026-09-05 00:40:15

Tricky Linking

Time of First Successful Submission: 2026-09-05 01:02:56

Sniffing Process Arguments

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

Snooping on Configurations

Time of First Successful Submission: 2026-09-05 01:09:05

The Fork Bomb

Time of First Successful Submission: 2026-09-05 01:48:58

Disk-Space Doomsday

Time of First Successful Submission: 2026-09-05 14:19:34

rm -rf /

Time of First Successful Submission: 2026-09-05 14:21:50

Life after rm -rf /

Time of First Successful Submission: 2026-09-05 14:25:32

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-09-05 14:27:45


Computing 101

82 / 132 1089 / 23550


Your First Register

Time of First Successful Submission: 2026-08-31 17:15:23

Your First Syscall

Time of First Successful Submission: 2026-08-31 17:17:14

Exit Codes

Time of First Successful Submission: 2026-08-31 17:19:02

Building Executables

Time of First Successful Submission: 2026-08-31 17:24:44

Moving Between Registers

Time of First Successful Submission: 2026-08-31 17:28:42

Loading From Memory

Time of First Successful Submission: 2026-09-05 14:43:06

More Loading Practice

Time of First Successful Submission: 2026-09-05 14:46:00

Dereferencing Pointers

Time of First Successful Submission: 2026-09-05 14:51:11

Dereferencing Yourself

Time of First Successful Submission: 2026-09-05 14:58:20

Dereferencing with Offsets

Time of First Successful Submission: 2026-09-05 16:32:14

Stored Addresses

Time of First Successful Submission: 2026-09-05 16:42:03

Double Dereference

Time of First Successful Submission: 2026-09-05 16:58:13

The Stack

Time of First Successful Submission: 2026-09-07 16:01:08

Stack Offsets

Time of First Successful Submission: 2026-09-07 16:04:27

Program Arguments on the Stack

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

Popping From the Stack

Time of First Successful Submission: 2026-09-07 16:11:02

Negative Numbers

Time of First Successful Submission: 2026-09-07 16:19:38

Negative Numbers (16-bit)

Time of First Successful Submission: 2026-09-07 16:30:07

Negative Numbers (32-bit)

Time of First Successful Submission: 2026-09-07 16:32:50

Encoding Negatives

Time of First Successful Submission: 2026-09-07 16:39:13

Binary and Hex Encoding

Time of First Successful Submission: 2026-09-07 17:24:19

More Hex

Time of First Successful Submission: 2026-09-07 17:26:43

Decoding Hex

Time of First Successful Submission: 2026-09-07 17:29:35

Mixed Conversions

Time of First Successful Submission: 2026-09-07 17:33:59

Disassembling Programs

Time of First Successful Submission: 2026-09-07 17:39:25

Tracing Syscalls

Time of First Successful Submission: 2026-09-07 17:43:07

Starting GDB

Time of First Successful Submission: 2026-09-07 17:43:54

Quitting GDB

Time of First Successful Submission: 2026-09-07 17:44:34

Starting Programs in GDB

Time of First Successful Submission: 2026-09-07 17:45:52

Disassembling in GDB

Time of First Successful Submission: 2026-09-07 17:46:37

Stepping Through Instructions

Time of First Successful Submission: 2026-09-07 17:48:25

Reading Register Values

Time of First Successful Submission: 2026-09-07 17:49:19

Setting Register Values

Time of First Successful Submission: 2026-09-07 17:50:24

Popping Stack Values

Time of First Successful Submission: 2026-09-07 17:51:33

Examining Memory

Time of First Successful Submission: 2026-09-07 17:52:57

Examining Stack Pointers

Time of First Successful Submission: 2026-09-07 17:56:12

Cooperative Debugging

Time of First Successful Submission: 2026-09-07 17:58:39

Running with Arguments

Time of First Successful Submission: 2026-09-07 18:02:44

Redirecting Input in GDB

Time of First Successful Submission: 2026-09-07 18:04:38

Writing Output

Time of First Successful Submission: 2026-09-07 18:18:51

Chaining Syscalls

Time of First Successful Submission: 2026-09-07 18:25:09

Writing Strings

Time of First Successful Submission: 2026-09-07 18:51:30

Reading Data

Time of First Successful Submission: 2026-09-08 13:39:09

Reading Exactly

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

Opening Files

Time of First Successful Submission: 2026-09-08 14:02:01

Hardcoding the Filename

Time of First Successful Submission: 2026-09-08 14:14:24

RIP-Relative Strings

Time of First Successful Submission: 2026-09-08 14:37:17

Comparing Values

Time of First Successful Submission: 2026-09-08 14:52:22

Comparing Characters

Time of First Successful Submission: 2026-09-08 15:34:32

Conditional Control Flow

Time of First Successful Submission: 2026-09-08 15:51:37

Comparing Strings

Time of First Successful Submission: 2026-09-09 13:44:25

Reverse the Password

Time of First Successful Submission: 2026-09-09 13:51:57

Conditionals Without Conditionals

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

Recognizing Loops

Time of First Successful Submission: 2026-09-09 14:32:15

Writing Loops

Time of First Successful Submission: 2026-09-09 15:44:04

Writing From a Shared Library

Time of First Successful Submission: 2026-09-09 16:03:26

Returning a Value

Time of First Successful Submission: 2026-09-09 16:10:45

Calling Through a Pointer

Time of First Successful Submission: 2026-09-09 16:15:28

Calling Through a Pointer with an Argument

Time of First Successful Submission: 2026-09-09 16:19:57

Saving Caller-Saved Registers

Time of First Successful Submission: 2026-09-09 16:31:26

Saving Callee-Saved Registers

Time of First Successful Submission: 2026-09-09 16:42:31

Sign Extension

Time of First Successful Submission: 2026-09-09 16:55:07

Little-Endian Bytes

Time of First Successful Submission: 2026-09-09 16:59:09

Qword by Qword

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

Dword by Dword

Time of First Successful Submission: 2026-09-09 17:08:42

Word by Word

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

Byte by Byte

Time of First Successful Submission: 2026-09-09 17:14:45

Cracking a Struct

Time of First Successful Submission: 2026-09-09 17:18:33

Scrambled Struct

Time of First Successful Submission: 2026-09-09 17:25:09

Reverse the Calculation

Time of First Successful Submission: 2026-09-09 17:29:48

Reverse the Reverse

Time of First Successful Submission: 2026-09-09 17:31:07

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-09-09 17:33:17

Even or Odd

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

Masking Bits

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

Lowercase a String

Time of First Successful Submission: 2026-09-10 21:02:41

Uppercase a String

Time of First Successful Submission: 2026-09-10 22:34:22

Swap Case

Time of First Successful Submission: 2026-09-10 22:39:28

Shifting Left

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

Shifting Right

Time of First Successful Submission: 2026-09-10 22:48:12

Loops on Data

Time of First Successful Submission: 2026-09-12 16:15:59

Reaching Into the Caller's Frame

Time of First Successful Submission: 2026-09-12 17:02:12

Loading Stale Stack Data

Time of First Successful Submission: 2026-09-12 17:27:30


Playing With Programs

6 / 116 21810 / 26355


What's the password?

Time of First Successful Submission: 2026-09-12 16:17:51

... and again!

Time of First Successful Submission: 2026-09-20 19:11:37

Newline Troubles

Time of First Successful Submission: 2026-09-20 19:13:40

Reasoning about files

Time of First Successful Submission: 2026-09-20 19:15:53

Specifying Filenames

Time of First Successful Submission: 2026-09-20 19:16:43

Binary and Hex Encoding

Time of First Successful Submission: 2026-09-20 19:36:13


DSU Cyber Camps

11 / 104 14353 / 66627


Using the Terminal

Time of First Successful Submission: 2026-08-31 16:50:10

Using the VSCode Workspace

Time of First Successful Submission: 2026-08-31 16:51:55

Using the GUI Desktop

Time of First Successful Submission: 2026-08-31 16:53:42

Pasting into the Desktop

Time of First Successful Submission: 2026-08-31 16:55:02

Restarting Challenges

Time of First Successful Submission: 2026-08-31 16:57:18

Getting Help

Time of First Successful Submission: 2026-08-31 17:00:23

Challenge Programs

Time of First Successful Submission: 2026-08-31 17:01:25

The Flag File

Time of First Successful Submission: 2026-08-31 17:02:35

Using Privileged Mode

Time of First Successful Submission: 2026-08-31 17:06:27

Persistent Home Directories - One

Time of First Successful Submission: 2026-08-31 17:08:40

Persistent Home Directories - Two

Time of First Successful Submission: 2026-08-31 17:09:19


GCA CTF

11 / 104 14353 / 66627


Using the Terminal

Time of First Successful Submission: 2026-08-31 16:50:10

Using the VSCode Workspace

Time of First Successful Submission: 2026-08-31 16:51:55

Using the GUI Desktop

Time of First Successful Submission: 2026-08-31 16:53:42

Pasting into the Desktop

Time of First Successful Submission: 2026-08-31 16:55:02

Restarting Challenges

Time of First Successful Submission: 2026-08-31 16:57:18

Getting Help

Time of First Successful Submission: 2026-08-31 17:00:23

Challenge Programs

Time of First Successful Submission: 2026-08-31 17:01:25

The Flag File

Time of First Successful Submission: 2026-08-31 17:02:35

Using Privileged Mode

Time of First Successful Submission: 2026-08-31 17:06:27

Persistent Home Directories - One

Time of First Successful Submission: 2026-08-31 17:08:40

Persistent Home Directories - Two

Time of First Successful Submission: 2026-08-31 17:09:19