switchcase

🐧 💻

Intro to Programming Languages

15 / 234 10239 / 33636


Commands

Time of First Successful Submission: 2026-05-06 00:03:08

Command Arguments

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

Command History

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

The Root Path

Time of First Successful Submission: 2026-05-06 00:05:57

Absolute Paths

Time of First Successful Submission: 2026-05-06 00:07:05

Changing position

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

Changing to an Absolute Path

Time of First Successful Submission: 2026-05-06 00:09:39

Relative Paths

Time of First Successful Submission: 2026-05-06 00:16:05

Cat

Time of First Successful Submission: 2026-05-06 00:21:57

Ls

Time of First Successful Submission: 2026-05-06 00:25:40

Ls All

Time of First Successful Submission: 2026-05-06 00:29:23

Find

Time of First Successful Submission: 2026-05-06 00:40:13

Piping Echo

Time of First Successful Submission: 2026-05-06 16:34:24

Piping Stdout

Time of First Successful Submission: 2026-05-06 16:35:43

Piping Stdin

Time of First Successful Submission: 2026-05-06 16:40:01


Start Here

12 / 12 2356 / 45582


Using the Terminal

Time of First Successful Submission: 2026-05-05 23:36:29

Using the VSCode Workspace

Time of First Successful Submission: 2026-05-05 23:37:49

Using the GUI Desktop

Time of First Successful Submission: 2026-05-05 23:39:31

Pasting into the Desktop

Time of First Successful Submission: 2026-05-05 23:41:03

Restarting Challenges

Time of First Successful Submission: 2026-05-05 23:47:46

Challenge Programs

Time of First Successful Submission: 2026-05-05 23:52:24

The Flag File

Time of First Successful Submission: 2026-05-05 23:53:57

Using Privileged Mode

Time of First Successful Submission: 2026-05-05 23:57:13

Persistent Home Directories - One

Time of First Successful Submission: 2026-05-05 23:59:27

Persistent Home Directories - Two

Time of First Successful Submission: 2026-05-06 00:00:08


Linux Luminarium

128 / 128 3004 / 34080


Intro to Commands

Time of First Successful Submission: 2026-05-06 00:03:08

Intro to Arguments

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

Command History

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

The Root

Time of First Successful Submission: 2026-05-06 00:05:57

Program and absolute paths

Time of First Successful Submission: 2026-05-06 00:07:05

Position thy self

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

Position elsewhere

Time of First Successful Submission: 2026-05-06 00:09:39

implicit relative paths, from /

Time of First Successful Submission: 2026-05-06 00:16:05

explicit relative paths, from /

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

implicit relative path

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

home sweet home

Time of First Successful Submission: 2026-05-06 00:20:06

cat: not the pet, but the command!

Time of First Successful Submission: 2026-05-06 00:21:57

catting absolute paths

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

more catting practice

Time of First Successful Submission: 2026-05-06 00:23:21

grepping for a needle in a haystack

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

comparing files

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

listing files

Time of First Successful Submission: 2026-05-06 00:25:40

touching files

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

removing files

Time of First Successful Submission: 2026-05-06 00:27:21

moving files

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

copying files

Time of First Successful Submission: 2026-05-06 00:28:41

hidden files

Time of First Successful Submission: 2026-05-06 00:29:23

An Epic Filesystem Quest

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

making directories

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

finding files

Time of First Successful Submission: 2026-05-06 00:40:13

linking files

Time of First Successful Submission: 2026-05-06 00:41:08

Learning From Documentation

Time of First Successful Submission: 2026-05-06 00:43:28

Learning Complex Usage

Time of First Successful Submission: 2026-05-06 00:44:30

Reading Manuals

Time of First Successful Submission: 2026-05-06 00:46:05

Searching Manuals

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

Searching For Manuals

Time of First Successful Submission: 2026-05-06 00:52:03

Helpful Programs

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

Help for Builtins

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

Matching with *

Time of First Successful Submission: 2026-05-06 00:57:07

Matching with ?

Time of First Successful Submission: 2026-05-06 00:57:49

Matching with []

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

Matching paths with []

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

Multiple globs

Time of First Successful Submission: 2026-05-06 01:01:02

Mixing globs

Time of First Successful Submission: 2026-05-06 01:03:37

Exclusionary globbing

Time of First Successful Submission: 2026-05-06 01:05:33

Tab completion

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

Multiple options for tab completion

Time of First Successful Submission: 2026-05-06 01:08:44

Tab completion on commands

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

Redirecting output

Time of First Successful Submission: 2026-05-06 16:34:24

Redirecting more output

Time of First Successful Submission: 2026-05-06 16:35:43

Appending output

Time of First Successful Submission: 2026-05-06 16:37:08

Redirecting errors

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

Redirecting input

Time of First Successful Submission: 2026-05-06 16:40:01

Grepping stored results

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

Grepping live output

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

Grepping errors

Time of First Successful Submission: 2026-05-06 16:44:36

Filtering with grep -v

Time of First Successful Submission: 2026-05-06 16:45:25

Filtering with sed

Time of First Successful Submission: 2026-05-06 16:47:24

Duplicating piped data with tee

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

Process substitution for input

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

Writing to multiple programs

Time of First Successful Submission: 2026-05-06 17:32:50

Split-piping stderr and stdout

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

Named pipes

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

Printing Variables

Time of First Successful Submission: 2026-05-06 17:47:43

Setting Variables

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

Multi-word Variables

Time of First Successful Submission: 2026-05-06 17:49:37

Exporting Variables

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

Printing Exported Variables

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

Storing Command Output

Time of First Successful Submission: 2026-05-06 17:54:38

Reading Input

Time of First Successful Submission: 2026-05-06 17:57:39

Reading Files

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

Translating characters

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

Deleting characters

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

Deleting newlines

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

Extracting the first lines with head

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

Extracting specific sections of text

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

Sorting data

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

Listing Processes

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

Killing Processes

Time of First Successful Submission: 2026-05-06 18:24:08

Interrupting Processes

Time of First Successful Submission: 2026-05-06 18:24:44

Killing Misbehaving Processes

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

Suspending Processes

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

Resuming Processes

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

Backgrounding Processes

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

Foregrounding Processes

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

Starting Backgrounded Processes

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

Process Exit Codes

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

Becoming root with su

Time of First Successful Submission: 2026-05-07 07:02:26

Other users with su

Time of First Successful Submission: 2026-05-07 08:03:38

Cracking passwords

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

Using sudo

Time of First Successful Submission: 2026-05-07 08:13:12

Changing File Ownership

Time of First Successful Submission: 2026-05-07 08:18:00

Groups and Files

Time of First Successful Submission: 2026-05-07 08:21:07

Fun With Groups Names

Time of First Successful Submission: 2026-05-07 08:22:44

Changing Permissions

Time of First Successful Submission: 2026-05-07 08:25:40

Executable Files

Time of First Successful Submission: 2026-05-07 08:28:13

Permission Tweaking Practice

Time of First Successful Submission: 2026-05-07 08:53:43

Permissions Setting Practice

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

The SUID Bit

Time of First Successful Submission: 2026-05-07 09:05:19

Chaining with Semicolons

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

Building on Success

Time of First Successful Submission: 2026-05-07 09:10:07

Handling Failure

Time of First Successful Submission: 2026-05-07 09:12:55

Your First Shell Script

Time of First Successful Submission: 2026-05-07 09:14:31

Redirecting Script Output

Time of First Successful Submission: 2026-05-07 09:23:29

Executable Shell Scripts

Time of First Successful Submission: 2026-05-07 09:24:18

Understanding Shebangs

Time of First Successful Submission: 2026-05-07 09:27:09

Scripting with Arguments

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

Scripting with Conditionals

Time of First Successful Submission: 2026-05-07 09:32:20

Scripting with Default Cases

Time of First Successful Submission: 2026-05-07 09:33:09

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-05-07 09:35:20

Reading Shell Scripts

Time of First Successful Submission: 2026-05-07 09:36:51

Launching Screen

Time of First Successful Submission: 2026-05-07 10:15:51

Detaching and Attaching

Time of First Successful Submission: 2026-05-07 10:18:05

Finding Sessions

Time of First Successful Submission: 2026-05-07 10:24:01

Switching Windows

Time of First Successful Submission: 2026-05-07 10:25:43

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-05-07 10:27:44

Switching Windows (tmux)

Time of First Successful Submission: 2026-05-07 10:28:36

The PATH Variable

Time of First Successful Submission: 2026-05-07 10:30:10

Setting PATH

Time of First Successful Submission: 2026-05-07 10:31:33

Finding Commands

Time of First Successful Submission: 2026-05-07 10:32:24

Adding Commands

Time of First Successful Submission: 2026-05-07 10:34:28

Hijacking Commands

Time of First Successful Submission: 2026-05-07 10:36:31

Bashrc Backdoor

Time of First Successful Submission: 2026-05-07 10:39:28

Sniffing Input

Time of First Successful Submission: 2026-05-07 10:46:37

Overshared Directories

Time of First Successful Submission: 2026-05-07 23:05:10

Tricky Linking

Time of First Successful Submission: 2026-05-07 23:12:22

Sniffing Process Arguments

Time of First Successful Submission: 2026-05-07 23:14:53

Snooping on Configurations

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

The Fork Bomb

Time of First Successful Submission: 2026-05-07 23:33:56

Disk-Space Doomsday

Time of First Successful Submission: 2026-05-07 23:37:47

rm -rf /

Time of First Successful Submission: 2026-05-07 23:39:39

Life after rm -rf /

Time of First Successful Submission: 2026-05-07 23:46:11

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-05-07 23:48:49


Computing 101

94 / 94 511 / 22411


Your First Register

Time of First Successful Submission: 2026-05-07 23:57:53

Your First Syscall

Time of First Successful Submission: 2026-05-07 23:58:42

Exit Codes

Time of First Successful Submission: 2026-05-07 23:59:54

Building Executables

Time of First Successful Submission: 2026-05-08 00:02:03

Moving Between Registers

Time of First Successful Submission: 2026-05-08 00:02:55

Loading From Memory

Time of First Successful Submission: 2026-05-08 00:06:00

More Loading Practice

Time of First Successful Submission: 2026-05-08 00:06:55

Dereferencing Pointers

Time of First Successful Submission: 2026-05-08 00:08:52

Dereferencing Yourself

Time of First Successful Submission: 2026-05-08 00:10:59

Dereferencing with Offsets

Time of First Successful Submission: 2026-05-08 00:12:01

Stored Addresses

Time of First Successful Submission: 2026-05-08 00:15:41

Double Dereference

Time of First Successful Submission: 2026-05-08 00:16:46

The Stack

Time of First Successful Submission: 2026-05-08 00:19:42

Stack Offsets

Time of First Successful Submission: 2026-05-08 00:21:50

Program Arguments on the Stack

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

Popping From the Stack

Time of First Successful Submission: 2026-05-08 00:25:25

Disassembling Programs

Time of First Successful Submission: 2026-05-08 08:34:35

Tracing Syscalls

Time of First Successful Submission: 2026-05-08 08:36:18

Starting GDB

Time of First Successful Submission: 2026-05-08 08:37:16

Quitting GDB

Time of First Successful Submission: 2026-05-08 08:37:50

Starting Programs in GDB

Time of First Successful Submission: 2026-05-08 08:39:03

Disassembling in GDB

Time of First Successful Submission: 2026-05-08 08:39:52

Stepping Through Instructions

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

Reading Register Values

Time of First Successful Submission: 2026-05-08 09:09:58

Popping Stack Values

Time of First Successful Submission: 2026-05-08 09:11:32

Examining Memory

Time of First Successful Submission: 2026-05-08 09:12:45

Examining Stack Pointers

Time of First Successful Submission: 2026-05-08 09:14:44

Cooperative Debugging

Time of First Successful Submission: 2026-05-08 09:18:23

Writing Output

Time of First Successful Submission: 2026-05-08 09:33:57

Chaining Syscalls

Time of First Successful Submission: 2026-05-08 09:35:25

Writing Strings

Time of First Successful Submission: 2026-05-08 09:36:17

Reading Data

Time of First Successful Submission: 2026-05-08 09:39:10

Opening Files

Time of First Successful Submission: 2026-05-08 09:41:31

Hardcoding the Filename

Time of First Successful Submission: 2026-05-08 09:46:30

Comparing Values

Time of First Successful Submission: 2026-05-08 09:51:42

Comparing Characters

Time of First Successful Submission: 2026-05-08 09:55:22

Conditional Control Flow

Time of First Successful Submission: 2026-05-08 09:57:39

Comparing Strings

Time of First Successful Submission: 2026-05-08 09:59:35

Reverse the Password

Time of First Successful Submission: 2026-05-08 10:05:49

Conditionals Without Conditionals

Time of First Successful Submission: 2026-05-08 10:14:29

Looping

Time of First Successful Submission: 2026-05-08 10:17:44

Reverse the Calculation

Time of First Successful Submission: 2026-05-08 11:01:40

Reverse the Reverse

Time of First Successful Submission: 2026-05-08 11:02:52

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-05-08 11:04:12

Loops on Data

Time of First Successful Submission: 2026-05-08 11:07:56

set-register

Time of First Successful Submission: 2026-05-08 11:14:41

set-multiple-registers

Time of First Successful Submission: 2026-05-08 11:15:50

add-to-register

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

linear-equation-registers

Time of First Successful Submission: 2026-05-08 11:19:13

integer-division

Time of First Successful Submission: 2026-05-08 11:22:26

modulo-operation

Time of First Successful Submission: 2026-05-08 11:23:59

set-upper-byte

Time of First Successful Submission: 2026-05-08 11:26:00

efficient-modulo

Time of First Successful Submission: 2026-05-08 11:28:51

byte-extraction

Time of First Successful Submission: 2026-05-08 11:35:07

bitwise-and

Time of First Successful Submission: 2026-05-08 11:36:54

check-even

Time of First Successful Submission: 2026-05-08 11:39:53

memory-read

Time of First Successful Submission: 2026-05-08 11:41:25

memory-write

Time of First Successful Submission: 2026-05-08 11:42:14

memory-increment

Time of First Successful Submission: 2026-05-08 11:43:52

byte-access

Time of First Successful Submission: 2026-05-08 11:45:33

memory-size-access

Time of First Successful Submission: 2026-05-08 11:46:35

little-endian-write

Time of First Successful Submission: 2026-05-08 11:55:37

memory-sum

Time of First Successful Submission: 2026-05-08 12:00:05

stack-subtraction

Time of First Successful Submission: 2026-05-08 15:44:32

swap-stack-values

Time of First Successful Submission: 2026-05-08 15:45:49

average-stack-values

Time of First Successful Submission: 2026-05-08 15:50:55

absolute-jump

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

relative-jump

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

jump-trampoline

Time of First Successful Submission: 2026-05-08 16:18:32

conditional-jump

Time of First Successful Submission: 2026-05-08 16:28:07

indirect-jump

Time of First Successful Submission: 2026-05-08 16:39:55

average-loop

Time of First Successful Submission: 2026-05-08 16:44:40

count-non-zero

Time of First Successful Submission: 2026-05-08 16:48:30

string-lower

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

most-common-byte

Time of First Successful Submission: 2026-05-08 22:35:26

Exit

Time of First Successful Submission: 2026-05-08 22:54:22

Socket

Time of First Successful Submission: 2026-05-08 23:16:34

Bind

Time of First Successful Submission: 2026-05-08 23:49:44

Listen

Time of First Successful Submission: 2026-05-08 23:59:24

Accept

Time of First Successful Submission: 2026-05-09 00:04:42

Static Response

Time of First Successful Submission: 2026-05-09 09:32:07

Dynamic Response

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

Iterative GET Server

Time of First Successful Submission: 2026-05-14 13:15:23

Concurrent GET Server

Time of First Successful Submission: 2026-05-14 13:38:29

Concurrent POST Server

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

Web Server

Time of First Successful Submission: 2026-05-14 14:47:44

Debugging Programs

Time of First Successful Submission: 2026-05-14 14:49:31

Inspecting Registers

Time of First Successful Submission: 2026-05-15 13:48:09

Examining Memory

Time of First Successful Submission: 2026-05-15 13:54:18

Setting Breakpoints

Time of First Successful Submission: 2026-05-15 15:00:34

GDB Scripting

Time of First Successful Submission: 2026-05-15 15:11:26

Modifying Data

Time of First Successful Submission: 2026-05-15 17:10:45

Modifying Execution

Time of First Successful Submission: 2026-05-15 17:12:47

Broken Functions

Time of First Successful Submission: 2026-05-15 17:22:14


Playing With Programs

34 / 116 9479 / 23804


What's the password?

Time of First Successful Submission: 2026-05-15 17:24:10

... and again!

Time of First Successful Submission: 2026-05-15 17:24:54

Newline Troubles

Time of First Successful Submission: 2026-05-15 17:29:03

Reasoning about files

Time of First Successful Submission: 2026-05-15 17:36:53

Specifying Filenames

Time of First Successful Submission: 2026-05-15 17:39:43

Binary and Hex Encoding

Time of First Successful Submission: 2026-05-15 17:43:35

More Hex

Time of First Successful Submission: 2026-05-15 17:44:40

Decoding Hex

Time of First Successful Submission: 2026-05-15 17:54:17

Decoding Practice

Time of First Successful Submission: 2026-05-15 17:56:03

Encoding Practice

Time of First Successful Submission: 2026-05-15 17:59:22

Hex-encoding ASCII

Time of First Successful Submission: 2026-05-15 18:00:44

Nested Encoding

Time of First Successful Submission: 2026-05-15 18:02:39

Hex-encoding UTF-8

Time of First Successful Submission: 2026-05-15 18:04:57

UTF Mixups

Time of First Successful Submission: 2026-05-15 18:10:12

Modifying Encoded Data

Time of First Successful Submission: 2026-05-15 18:18:01

Decoding Base64

Time of First Successful Submission: 2026-05-15 18:20:52

Encoding Base64

Time of First Successful Submission: 2026-05-15 18:25:04

Dealing with Obfuscation

Time of First Successful Submission: 2026-05-15 19:02:14

Dealing with Obfuscation 2

Time of First Successful Submission: 2026-05-15 19:07:02

Your First HTTP Request

Time of First Successful Submission: 2026-05-15 19:19:38

Reading Flask

Time of First Successful Submission: 2026-05-15 19:23:28

Commented Data

Time of First Successful Submission: 2026-05-15 19:25:25

HTTP Metadata

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

HTTP (netcat)

Time of First Successful Submission: 2026-05-15 19:30:12

HTTP Paths (netcat)

Time of First Successful Submission: 2026-05-15 19:31:40

HTTP (curl)

Time of First Successful Submission: 2026-05-15 19:32:47

HTTP (python)

Time of First Successful Submission: 2026-05-15 19:34:33

HTTP Host Header (python)

Time of First Successful Submission: 2026-05-15 19:43:15

HTTP Host Header (curl)

Time of First Successful Submission: 2026-05-15 19:44:25

HTTP Host Header (netcat)

Time of First Successful Submission: 2026-05-15 19:47:48

URL Encoding (netcat)

Time of First Successful Submission: 2026-05-15 19:55:08

HTTP GET Parameters

Time of First Successful Submission: 2026-05-15 19:57:49

Multiple HTTP Parameters (netcat)

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

Multiple HTTP Parameters (curl)

Time of First Successful Submission: 2026-05-15 20:02:33


GCA CTF

12 / 104 2628 / 45872


Using the Terminal

Time of First Successful Submission: 2026-05-05 23:36:29

Using the VSCode Workspace

Time of First Successful Submission: 2026-05-05 23:37:49

Using the GUI Desktop

Time of First Successful Submission: 2026-05-05 23:39:31

Pasting into the Desktop

Time of First Successful Submission: 2026-05-05 23:41:03

Connecting over SSH

Time of First Successful Submission: 2026-05-05 23:45:04

Restarting Challenges

Time of First Successful Submission: 2026-05-05 23:47:46

Getting Help

Time of First Successful Submission: 2026-05-05 23:50:33

Challenge Programs

Time of First Successful Submission: 2026-05-05 23:52:24

The Flag File

Time of First Successful Submission: 2026-05-05 23:53:57

Using Privileged Mode

Time of First Successful Submission: 2026-05-05 23:57:13

Persistent Home Directories - One

Time of First Successful Submission: 2026-05-05 23:59:27

Persistent Home Directories - Two

Time of First Successful Submission: 2026-05-06 00:00:08