Bill

🐧 💻

Intro to Programming Languages

15 / 234 9940 / 33213


Commands

Time of First Successful Submission: 2026-04-19 15:23:50

Command Arguments

Time of First Successful Submission: 2026-04-19 15:24:26

Command History

Time of First Successful Submission: 2026-04-19 15:25:03

The Root Path

Time of First Successful Submission: 2026-04-19 15:33:15

Absolute Paths

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

Changing position

Time of First Successful Submission: 2026-04-19 15:37:42

Changing to an Absolute Path

Time of First Successful Submission: 2026-04-19 15:39:19

Relative Paths

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

Cat

Time of First Successful Submission: 2026-04-19 19:46:31

Ls

Time of First Successful Submission: 2026-04-19 19:52:49

Ls All

Time of First Successful Submission: 2026-04-19 20:00:50

Find

Time of First Successful Submission: 2026-04-20 07:19:43

Piping Echo

Time of First Successful Submission: 2026-04-20 17:14:45

Piping Stdout

Time of First Successful Submission: 2026-04-20 17:16:07

Piping Stdin

Time of First Successful Submission: 2026-04-20 20:31:47


Start Here

12 / 12 2220 / 44970


Using the Terminal

Time of First Successful Submission: 2026-04-19 14:43:57

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-19 14:46:39

Using the GUI Desktop

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

Pasting into the Desktop

Time of First Successful Submission: 2026-04-19 14:49:22

Restarting Challenges

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

Challenge Programs

Time of First Successful Submission: 2026-04-20 08:01:28

The Flag File

Time of First Successful Submission: 2026-04-20 08:02:38

Using Privileged Mode

Time of First Successful Submission: 2026-04-20 08:05:40

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-24 17:34:29

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-24 17:35:06


Linux Luminarium

128 / 128 2890 / 33645


Intro to Commands

Time of First Successful Submission: 2026-04-19 15:23:50

Intro to Arguments

Time of First Successful Submission: 2026-04-19 15:24:26

Command History

Time of First Successful Submission: 2026-04-19 15:25:03

The Root

Time of First Successful Submission: 2026-04-19 15:33:15

Program and absolute paths

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

Position thy self

Time of First Successful Submission: 2026-04-19 15:37:42

Position elsewhere

Time of First Successful Submission: 2026-04-19 15:39:19

implicit relative paths, from /

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

explicit relative paths, from /

Time of First Successful Submission: 2026-04-19 15:42:57

implicit relative path

Time of First Successful Submission: 2026-04-19 16:03:04

home sweet home

Time of First Successful Submission: 2026-04-19 16:50:29

cat: not the pet, but the command!

Time of First Successful Submission: 2026-04-19 19:46:31

catting absolute paths

Time of First Successful Submission: 2026-04-19 19:47:03

more catting practice

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

grepping for a needle in a haystack

Time of First Successful Submission: 2026-04-19 19:49:54

comparing files

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

listing files

Time of First Successful Submission: 2026-04-19 19:52:49

touching files

Time of First Successful Submission: 2026-04-19 19:53:48

removing files

Time of First Successful Submission: 2026-04-19 19:54:36

moving files

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

copying files

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

hidden files

Time of First Successful Submission: 2026-04-19 20:00:50

An Epic Filesystem Quest

Time of First Successful Submission: 2026-04-19 20:06:36

making directories

Time of First Successful Submission: 2026-04-20 07:15:14

finding files

Time of First Successful Submission: 2026-04-20 07:19:43

linking files

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

Learning From Documentation

Time of First Successful Submission: 2026-04-20 07:34:01

Learning Complex Usage

Time of First Successful Submission: 2026-04-20 07:35:19

Reading Manuals

Time of First Successful Submission: 2026-04-20 07:43:00

Searching Manuals

Time of First Successful Submission: 2026-04-20 07:45:28

Searching For Manuals

Time of First Successful Submission: 2026-04-20 07:56:50

Helpful Programs

Time of First Successful Submission: 2026-04-20 07:58:23

Help for Builtins

Time of First Successful Submission: 2026-04-20 07:59:57

Matching with *

Time of First Successful Submission: 2026-04-20 16:43:37

Matching with ?

Time of First Successful Submission: 2026-04-20 16:44:44

Matching with []

Time of First Successful Submission: 2026-04-20 16:54:01

Matching paths with []

Time of First Successful Submission: 2026-04-20 16:55:18

Multiple globs

Time of First Successful Submission: 2026-04-20 16:57:32

Mixing globs

Time of First Successful Submission: 2026-04-20 17:05:28

Exclusionary globbing

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

Tab completion

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

Multiple options for tab completion

Time of First Successful Submission: 2026-04-20 17:11:24

Tab completion on commands

Time of First Successful Submission: 2026-04-20 17:11:57

Redirecting output

Time of First Successful Submission: 2026-04-20 17:14:45

Redirecting more output

Time of First Successful Submission: 2026-04-20 17:16:07

Appending output

Time of First Successful Submission: 2026-04-20 17:17:52

Redirecting errors

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

Redirecting input

Time of First Successful Submission: 2026-04-20 20:31:47

Grepping stored results

Time of First Successful Submission: 2026-04-20 20:33:56

Grepping live output

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

Grepping errors

Time of First Successful Submission: 2026-04-20 20:36:41

Filtering with grep -v

Time of First Successful Submission: 2026-04-20 20:45:45

Filtering with sed

Time of First Successful Submission: 2026-04-20 20:59:19

Duplicating piped data with tee

Time of First Successful Submission: 2026-04-20 21:11:04

Process substitution for input

Time of First Successful Submission: 2026-04-20 21:13:45

Writing to multiple programs

Time of First Successful Submission: 2026-04-21 08:24:17

Split-piping stderr and stdout

Time of First Successful Submission: 2026-04-21 08:57:44

Named pipes

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

Printing Variables

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

Setting Variables

Time of First Successful Submission: 2026-04-21 10:50:45

Multi-word Variables

Time of First Successful Submission: 2026-04-21 10:59:55

Exporting Variables

Time of First Successful Submission: 2026-04-21 11:01:44

Printing Exported Variables

Time of First Successful Submission: 2026-04-21 11:02:12

Storing Command Output

Time of First Successful Submission: 2026-04-21 11:03:55

Reading Input

Time of First Successful Submission: 2026-04-21 11:05:13

Reading Files

Time of First Successful Submission: 2026-04-21 11:06:55

Translating characters

Time of First Successful Submission: 2026-04-21 12:48:42

Deleting characters

Time of First Successful Submission: 2026-04-21 12:49:36

Deleting newlines

Time of First Successful Submission: 2026-04-21 13:00:00

Extracting the first lines with head

Time of First Successful Submission: 2026-04-21 13:01:26

Extracting specific sections of text

Time of First Successful Submission: 2026-04-21 13:05:18

Sorting data

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

Listing Processes

Time of First Successful Submission: 2026-04-21 13:24:41

Killing Processes

Time of First Successful Submission: 2026-04-21 13:28:01

Interrupting Processes

Time of First Successful Submission: 2026-04-21 13:28:38

Killing Misbehaving Processes

Time of First Successful Submission: 2026-04-21 13:31:34

Suspending Processes

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

Resuming Processes

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

Backgrounding Processes

Time of First Successful Submission: 2026-04-21 13:36:39

Foregrounding Processes

Time of First Successful Submission: 2026-04-21 13:37:22

Starting Backgrounded Processes

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

Process Exit Codes

Time of First Successful Submission: 2026-04-21 13:39:56

Becoming root with su

Time of First Successful Submission: 2026-04-21 14:32:45

Other users with su

Time of First Successful Submission: 2026-04-21 14:33:42

Cracking passwords

Time of First Successful Submission: 2026-04-21 14:39:51

Using sudo

Time of First Successful Submission: 2026-04-21 14:42:50

Changing File Ownership

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

Groups and Files

Time of First Successful Submission: 2026-04-22 08:33:39

Fun With Groups Names

Time of First Successful Submission: 2026-04-22 08:36:17

Changing Permissions

Time of First Successful Submission: 2026-04-23 13:55:33

Executable Files

Time of First Successful Submission: 2026-04-23 14:12:44

Permission Tweaking Practice

Time of First Successful Submission: 2026-04-23 14:21:13

Permissions Setting Practice

Time of First Successful Submission: 2026-04-23 14:32:26

The SUID Bit

Time of First Successful Submission: 2026-04-23 14:44:52

Chaining with Semicolons

Time of First Successful Submission: 2026-04-23 14:52:39

Building on Success

Time of First Successful Submission: 2026-04-23 14:54:19

Handling Failure

Time of First Successful Submission: 2026-04-23 15:24:56

Your First Shell Script

Time of First Successful Submission: 2026-04-23 15:28:01

Redirecting Script Output

Time of First Successful Submission: 2026-04-23 15:51:59

Executable Shell Scripts

Time of First Successful Submission: 2026-04-23 15:53:09

Understanding Shebangs

Time of First Successful Submission: 2026-04-23 15:58:12

Scripting with Arguments

Time of First Successful Submission: 2026-04-23 16:08:35

Scripting with Conditionals

Time of First Successful Submission: 2026-04-23 16:10:50

Scripting with Default Cases

Time of First Successful Submission: 2026-04-23 16:25:50

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-04-23 20:24:17

Reading Shell Scripts

Time of First Successful Submission: 2026-04-23 20:25:40

Launching Screen

Time of First Successful Submission: 2026-04-23 20:26:59

Detaching and Attaching

Time of First Successful Submission: 2026-04-23 20:31:50

Finding Sessions

Time of First Successful Submission: 2026-04-23 20:33:52

Switching Windows

Time of First Successful Submission: 2026-04-23 20:35:14

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-04-23 20:36:40

Switching Windows (tmux)

Time of First Successful Submission: 2026-04-23 20:37:44

The PATH Variable

Time of First Successful Submission: 2026-04-24 08:33:26

Setting PATH

Time of First Successful Submission: 2026-04-24 08:35:22

Finding Commands

Time of First Successful Submission: 2026-04-24 08:42:35

Adding Commands

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

Hijacking Commands

Time of First Successful Submission: 2026-04-24 09:09:23

Bashrc Backdoor

Time of First Successful Submission: 2026-04-24 09:50:58

Sniffing Input

Time of First Successful Submission: 2026-04-24 10:10:20

Overshared Directories

Time of First Successful Submission: 2026-04-24 10:18:49

Tricky Linking

Time of First Successful Submission: 2026-04-24 10:40:00

Sniffing Process Arguments

Time of First Successful Submission: 2026-04-24 12:35:47

Snooping on Configurations

Time of First Successful Submission: 2026-04-24 12:38:01

The Fork Bomb

Time of First Successful Submission: 2026-04-24 12:55:33

Disk-Space Doomsday

Time of First Successful Submission: 2026-04-24 12:59:09

rm -rf /

Time of First Successful Submission: 2026-04-24 17:27:23

Life after rm -rf /

Time of First Successful Submission: 2026-04-24 17:31:07

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-04-24 17:32:43


Computing 101

93 / 94 476 / 22202


Your First Register

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

Your First Syscall

Time of First Successful Submission: 2026-04-25 07:48:01

Exit Codes

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

Building Executables

Time of First Successful Submission: 2026-04-25 09:06:43

Moving Between Registers

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

Loading From Memory

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

More Loading Practice

Time of First Successful Submission: 2026-04-25 09:52:40

Dereferencing Pointers

Time of First Successful Submission: 2026-04-25 09:57:38

Dereferencing Yourself

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

Dereferencing with Offsets

Time of First Successful Submission: 2026-04-25 10:10:18

Stored Addresses

Time of First Successful Submission: 2026-04-25 10:18:20

Double Dereference

Time of First Successful Submission: 2026-04-25 10:19:54

The Stack

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

Stack Offsets

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

Program Arguments on the Stack

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

Popping From the Stack

Time of First Successful Submission: 2026-04-25 10:39:22

Disassembling Programs

Time of First Successful Submission: 2026-04-25 11:18:54

Tracing Syscalls

Time of First Successful Submission: 2026-04-25 12:29:39

Starting GDB

Time of First Successful Submission: 2026-04-25 12:31:31

Quitting GDB

Time of First Successful Submission: 2026-04-25 12:32:06

Starting Programs in GDB

Time of First Successful Submission: 2026-04-25 12:38:18

Disassembling in GDB

Time of First Successful Submission: 2026-04-25 12:41:20

Stepping Through Instructions

Time of First Successful Submission: 2026-04-25 12:45:03

Reading Register Values

Time of First Successful Submission: 2026-04-25 12:51:43

Popping Stack Values

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

Examining Memory

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

Examining Stack Pointers

Time of First Successful Submission: 2026-04-25 13:14:39

Cooperative Debugging

Time of First Successful Submission: 2026-04-25 13:18:34

Writing Output

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

Chaining Syscalls

Time of First Successful Submission: 2026-04-25 17:51:42

Writing Strings

Time of First Successful Submission: 2026-04-25 17:52:36

Reading Data

Time of First Successful Submission: 2026-04-25 17:58:49

Opening Files

Time of First Successful Submission: 2026-04-25 18:16:34

Hardcoding the Filename

Time of First Successful Submission: 2026-04-25 21:25:33

Comparing Values

Time of First Successful Submission: 2026-04-26 08:31:29

Comparing Characters

Time of First Successful Submission: 2026-04-26 08:46:14

Conditional Control Flow

Time of First Successful Submission: 2026-04-26 09:08:53

Comparing Strings

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

Reverse the Password

Time of First Successful Submission: 2026-04-26 15:39:52

Conditionals Without Conditionals

Time of First Successful Submission: 2026-04-26 16:20:46

Looping

Time of First Successful Submission: 2026-04-27 06:58:37

Reverse the Calculation

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

Reverse the Reverse

Time of First Successful Submission: 2026-04-27 07:06:58

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-04-27 07:29:05

Loops on Data

Time of First Successful Submission: 2026-04-27 08:14:13

set-register

Time of First Successful Submission: 2026-04-27 08:22:26

set-multiple-registers

Time of First Successful Submission: 2026-04-27 08:34:35

add-to-register

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

linear-equation-registers

Time of First Successful Submission: 2026-04-27 08:42:22

integer-division

Time of First Successful Submission: 2026-04-27 09:29:34

modulo-operation

Time of First Successful Submission: 2026-04-27 09:46:22

set-upper-byte

Time of First Successful Submission: 2026-04-27 10:03:10

efficient-modulo

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

byte-extraction

Time of First Successful Submission: 2026-04-27 11:30:05

bitwise-and

Time of First Successful Submission: 2026-04-27 11:42:47

check-even

Time of First Successful Submission: 2026-04-27 11:57:09

memory-read

Time of First Successful Submission: 2026-04-27 19:30:19

memory-write

Time of First Successful Submission: 2026-04-27 19:31:15

memory-increment

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

byte-access

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

memory-size-access

Time of First Successful Submission: 2026-04-28 08:35:19

little-endian-write

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

memory-sum

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

stack-subtraction

Time of First Successful Submission: 2026-04-28 09:44:27

swap-stack-values

Time of First Successful Submission: 2026-04-28 09:46:32

average-stack-values

Time of First Successful Submission: 2026-04-28 12:01:01

absolute-jump

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

relative-jump

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

jump-trampoline

Time of First Successful Submission: 2026-04-28 12:23:22

conditional-jump

Time of First Successful Submission: 2026-04-28 15:01:55

indirect-jump

Time of First Successful Submission: 2026-04-28 18:17:02

average-loop

Time of First Successful Submission: 2026-04-29 11:38:41

count-non-zero

Time of First Successful Submission: 2026-04-29 11:52:49

string-lower

Time of First Successful Submission: 2026-04-29 12:52:40

most-common-byte

Time of First Successful Submission: 2026-04-29 13:40:14

Exit

Time of First Successful Submission: 2026-04-30 10:47:44

Socket

Time of First Successful Submission: 2026-04-30 10:55:16

Bind

Time of First Successful Submission: 2026-04-30 12:04:34

Listen

Time of First Successful Submission: 2026-05-01 11:19:52

Accept

Time of First Successful Submission: 2026-05-01 11:24:14

Static Response

Time of First Successful Submission: 2026-05-01 12:34:12

Dynamic Response

Time of First Successful Submission: 2026-05-02 08:44:25

Iterative GET Server

Time of First Successful Submission: 2026-05-02 09:36:54

Concurrent GET Server

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

Concurrent POST Server

Time of First Successful Submission: 2026-05-03 11:15:40

Web Server

Time of First Successful Submission: 2026-05-04 09:27:56

Debugging Programs

Time of First Successful Submission: 2026-05-01 12:21:54

Inspecting Registers

Time of First Successful Submission: 2026-05-01 13:05:31

Examining Memory

Time of First Successful Submission: 2026-05-01 13:13:14

Setting Breakpoints

Time of First Successful Submission: 2026-05-04 10:17:59

GDB Scripting

Time of First Successful Submission: 2026-05-05 10:05:03

Modifying Data

Time of First Successful Submission: 2026-05-05 12:22:43

Modifying Execution

Time of First Successful Submission: 2026-05-05 12:58:41

Broken Functions

Time of First Successful Submission: 2026-05-05 13:32:28


Playing With Programs

4 / 116 20662 / 23700


What's the password?

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

... and again!

Time of First Successful Submission: 2026-05-04 10:21:17

Newline Troubles

Time of First Successful Submission: 2026-05-04 10:31:26

Reasoning about files

Time of First Successful Submission: 2026-05-04 10:35:00


GCA CTF

12 / 104 2466 / 45252


Using the Terminal

Time of First Successful Submission: 2026-04-19 14:43:57

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-19 14:46:39

Using the GUI Desktop

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

Pasting into the Desktop

Time of First Successful Submission: 2026-04-19 14:49:22

Connecting over SSH

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

Restarting Challenges

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

Getting Help

Time of First Successful Submission: 2026-04-19 15:15:03

Challenge Programs

Time of First Successful Submission: 2026-04-20 08:01:28

The Flag File

Time of First Successful Submission: 2026-04-20 08:02:38

Using Privileged Mode

Time of First Successful Submission: 2026-04-20 08:05:40

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-24 17:34:29

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-24 17:35:06