MichYe

🐧 💻

Intro to Programming Languages

15 / 234 9864 / 33461


Commands

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

Command Arguments

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

Command History

Time of First Successful Submission: 2026-04-14 17:46:30

The Root Path

Time of First Successful Submission: 2026-04-14 17:48:32

Absolute Paths

Time of First Successful Submission: 2026-04-14 17:49:28

Changing position

Time of First Successful Submission: 2026-04-14 17:50:52

Changing to an Absolute Path

Time of First Successful Submission: 2026-04-14 17:52:53

Relative Paths

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

Cat

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

Ls

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

Ls All

Time of First Successful Submission: 2026-04-14 18:31:11

Find

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

Piping Echo

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

Piping Stdout

Time of First Successful Submission: 2026-04-15 17:30:35

Piping Stdin

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


Start Here

10 / 12 20643 / 45309


Using the Terminal

Time of First Successful Submission: 2026-04-14 17:05:33

Using the VSCode Workspace

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

Using the GUI Desktop

Time of First Successful Submission: 2026-04-14 17:18:55

Pasting into the Desktop

Time of First Successful Submission: 2026-04-14 17:17:50

Restarting Challenges

Time of First Successful Submission: 2026-04-14 17:21:48

Challenge Programs

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

The Flag File

Time of First Successful Submission: 2026-04-14 17:27:27

Using Privileged Mode

Time of First Successful Submission: 2026-04-14 17:33:58

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-14 17:38:59

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-14 17:40:48


Linux Luminarium

128 / 128 2831 / 33899


Intro to Commands

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

Intro to Arguments

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

Command History

Time of First Successful Submission: 2026-04-14 17:46:30

The Root

Time of First Successful Submission: 2026-04-14 17:48:32

Program and absolute paths

Time of First Successful Submission: 2026-04-14 17:49:28

Position thy self

Time of First Successful Submission: 2026-04-14 17:50:52

Position elsewhere

Time of First Successful Submission: 2026-04-14 17:52:53

implicit relative paths, from /

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

explicit relative paths, from /

Time of First Successful Submission: 2026-04-14 17:57:34

implicit relative path

Time of First Successful Submission: 2026-04-14 17:59:37

home sweet home

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

cat: not the pet, but the command!

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

catting absolute paths

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

more catting practice

Time of First Successful Submission: 2026-04-14 18:19:58

grepping for a needle in a haystack

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

comparing files

Time of First Successful Submission: 2026-04-14 18:24:32

listing files

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

touching files

Time of First Successful Submission: 2026-04-14 18:27:10

removing files

Time of First Successful Submission: 2026-04-14 18:27:55

moving files

Time of First Successful Submission: 2026-04-14 18:29:34

copying files

Time of First Successful Submission: 2026-04-14 18:30:02

hidden files

Time of First Successful Submission: 2026-04-14 18:31:11

An Epic Filesystem Quest

Time of First Successful Submission: 2026-04-14 18:41:07

making directories

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

finding files

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

linking files

Time of First Successful Submission: 2026-04-14 18:54:50

Learning From Documentation

Time of First Successful Submission: 2026-04-15 16:43:14

Learning Complex Usage

Time of First Successful Submission: 2026-04-15 16:44:50

Reading Manuals

Time of First Successful Submission: 2026-04-15 16:46:47

Searching Manuals

Time of First Successful Submission: 2026-04-15 16:49:59

Searching For Manuals

Time of First Successful Submission: 2026-04-15 16:58:33

Helpful Programs

Time of First Successful Submission: 2026-04-15 17:00:14

Help for Builtins

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

Matching with *

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

Matching with ?

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

Matching with []

Time of First Successful Submission: 2026-04-15 17:08:55

Matching paths with []

Time of First Successful Submission: 2026-04-15 17:10:14

Multiple globs

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

Mixing globs

Time of First Successful Submission: 2026-04-15 17:15:40

Exclusionary globbing

Time of First Successful Submission: 2026-04-15 17:16:48

Tab completion

Time of First Successful Submission: 2026-04-15 17:17:49

Multiple options for tab completion

Time of First Successful Submission: 2026-04-15 17:24:57

Tab completion on commands

Time of First Successful Submission: 2026-04-15 17:25:45

Redirecting output

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

Redirecting more output

Time of First Successful Submission: 2026-04-15 17:30:35

Appending output

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

Redirecting errors

Time of First Successful Submission: 2026-04-15 17:35:01

Redirecting input

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

Grepping stored results

Time of First Successful Submission: 2026-04-15 17:41:35

Grepping live output

Time of First Successful Submission: 2026-04-15 17:49:03

Grepping errors

Time of First Successful Submission: 2026-04-15 17:45:48

Filtering with grep -v

Time of First Successful Submission: 2026-04-15 17:47:53

Filtering with sed

Time of First Successful Submission: 2026-04-15 17:50:58

Duplicating piped data with tee

Time of First Successful Submission: 2026-04-15 18:01:08

Process substitution for input

Time of First Successful Submission: 2026-04-15 18:07:23

Writing to multiple programs

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

Split-piping stderr and stdout

Time of First Successful Submission: 2026-04-15 18:24:21

Named pipes

Time of First Successful Submission: 2026-04-15 18:30:20

Printing Variables

Time of First Successful Submission: 2026-04-15 18:41:58

Setting Variables

Time of First Successful Submission: 2026-04-15 18:43:14

Multi-word Variables

Time of First Successful Submission: 2026-04-15 18:44:46

Exporting Variables

Time of First Successful Submission: 2026-04-15 18:47:43

Printing Exported Variables

Time of First Successful Submission: 2026-04-15 18:49:03

Storing Command Output

Time of First Successful Submission: 2026-04-15 18:51:27

Reading Input

Time of First Successful Submission: 2026-04-15 18:53:18

Reading Files

Time of First Successful Submission: 2026-04-15 18:55:45

Translating characters

Time of First Successful Submission: 2026-04-16 15:34:44

Deleting characters

Time of First Successful Submission: 2026-04-16 15:37:00

Deleting newlines

Time of First Successful Submission: 2026-04-16 15:38:18

Extracting the first lines with head

Time of First Successful Submission: 2026-04-16 15:40:45

Extracting specific sections of text

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

Sorting data

Time of First Successful Submission: 2026-04-16 15:45:51

Listing Processes

Time of First Successful Submission: 2026-04-16 15:53:07

Killing Processes

Time of First Successful Submission: 2026-04-16 15:55:17

Interrupting Processes

Time of First Successful Submission: 2026-04-16 15:56:00

Killing Misbehaving Processes

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

Suspending Processes

Time of First Successful Submission: 2026-04-16 16:02:31

Resuming Processes

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

Backgrounding Processes

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

Foregrounding Processes

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

Starting Backgrounded Processes

Time of First Successful Submission: 2026-04-16 16:11:40

Process Exit Codes

Time of First Successful Submission: 2026-04-16 16:13:48

Becoming root with su

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

Other users with su

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

Cracking passwords

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

Using sudo

Time of First Successful Submission: 2026-04-16 16:32:39

Changing File Ownership

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

Groups and Files

Time of First Successful Submission: 2026-04-16 17:01:13

Fun With Groups Names

Time of First Successful Submission: 2026-04-16 17:02:10

Changing Permissions

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

Executable Files

Time of First Successful Submission: 2026-04-16 17:08:39

Permission Tweaking Practice

Time of First Successful Submission: 2026-04-16 17:13:50

Permissions Setting Practice

Time of First Successful Submission: 2026-04-16 17:19:39

The SUID Bit

Time of First Successful Submission: 2026-04-16 17:30:00

Chaining with Semicolons

Time of First Successful Submission: 2026-04-17 13:52:02

Building on Success

Time of First Successful Submission: 2026-04-17 13:53:42

Handling Failure

Time of First Successful Submission: 2026-04-17 13:54:35

Your First Shell Script

Time of First Successful Submission: 2026-04-17 14:00:51

Redirecting Script Output

Time of First Successful Submission: 2026-04-18 12:03:17

Executable Shell Scripts

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

Understanding Shebangs

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

Scripting with Arguments

Time of First Successful Submission: 2026-04-17 14:27:55

Scripting with Conditionals

Time of First Successful Submission: 2026-04-17 14:29:47

Scripting with Default Cases

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

Scripting with Multiple Conditions

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

Reading Shell Scripts

Time of First Successful Submission: 2026-04-17 14:35:58

Launching Screen

Time of First Successful Submission: 2026-04-17 14:44:54

Detaching and Attaching

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

Finding Sessions

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

Switching Windows

Time of First Successful Submission: 2026-04-17 14:51:38

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-04-17 14:53:24

Switching Windows (tmux)

Time of First Successful Submission: 2026-04-17 14:58:21

The PATH Variable

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

Setting PATH

Time of First Successful Submission: 2026-04-18 10:12:53

Finding Commands

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

Adding Commands

Time of First Successful Submission: 2026-04-18 10:23:14

Hijacking Commands

Time of First Successful Submission: 2026-04-18 10:33:54

Bashrc Backdoor

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

Sniffing Input

Time of First Successful Submission: 2026-04-18 11:02:20

Overshared Directories

Time of First Successful Submission: 2026-04-18 11:16:45

Tricky Linking

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

Sniffing Process Arguments

Time of First Successful Submission: 2026-04-18 11:33:13

Snooping on Configurations

Time of First Successful Submission: 2026-04-18 11:36:15

The Fork Bomb

Time of First Successful Submission: 2026-04-18 16:14:08

Disk-Space Doomsday

Time of First Successful Submission: 2026-04-18 16:17:35

rm -rf /

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

Life after rm -rf /

Time of First Successful Submission: 2026-04-18 16:27:50

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-04-18 16:41:19


Computing 101

94 / 94 430 / 22332


Your First Register

Time of First Successful Submission: 2026-04-18 16:48:40

Your First Syscall

Time of First Successful Submission: 2026-04-18 16:51:31

Exit Codes

Time of First Successful Submission: 2026-04-18 16:53:36

Building Executables

Time of First Successful Submission: 2026-04-18 17:00:44

Moving Between Registers

Time of First Successful Submission: 2026-04-18 17:05:22

Loading From Memory

Time of First Successful Submission: 2026-04-18 17:27:19

More Loading Practice

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

Dereferencing Pointers

Time of First Successful Submission: 2026-04-19 16:37:38

Dereferencing Yourself

Time of First Successful Submission: 2026-04-19 16:40:46

Dereferencing with Offsets

Time of First Successful Submission: 2026-04-19 16:43:40

Stored Addresses

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

Double Dereference

Time of First Successful Submission: 2026-04-19 16:54:47

The Stack

Time of First Successful Submission: 2026-04-19 17:05:46

Stack Offsets

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

Program Arguments on the Stack

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

Popping From the Stack

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

Disassembling Programs

Time of First Successful Submission: 2026-04-19 17:35:15

Tracing Syscalls

Time of First Successful Submission: 2026-04-19 17:38:47

Starting GDB

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

Quitting GDB

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

Starting Programs in GDB

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

Disassembling in GDB

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

Stepping Through Instructions

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

Reading Register Values

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

Popping Stack Values

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

Examining Memory

Time of First Successful Submission: 2026-04-20 16:51:39

Examining Stack Pointers

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

Cooperative Debugging

Time of First Successful Submission: 2026-04-20 17:00:12

Writing Output

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

Chaining Syscalls

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

Writing Strings

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

Reading Data

Time of First Successful Submission: 2026-04-20 17:29:55

Opening Files

Time of First Successful Submission: 2026-04-20 17:38:12

Hardcoding the Filename

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

Comparing Values

Time of First Successful Submission: 2026-04-21 13:12:33

Comparing Characters

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

Conditional Control Flow

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

Comparing Strings

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

Reverse the Password

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

Conditionals Without Conditionals

Time of First Successful Submission: 2026-04-21 14:20:26

Looping

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

Reverse the Calculation

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

Reverse the Reverse

Time of First Successful Submission: 2026-04-21 18:38:01

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-04-21 18:40:21

Loops on Data

Time of First Successful Submission: 2026-04-21 18:50:25

set-register

Time of First Successful Submission: 2026-04-21 18:56:53

set-multiple-registers

Time of First Successful Submission: 2026-04-21 18:58:35

add-to-register

Time of First Successful Submission: 2026-04-21 19:01:21

linear-equation-registers

Time of First Successful Submission: 2026-04-21 19:06:57

integer-division

Time of First Successful Submission: 2026-04-22 14:15:00

modulo-operation

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

set-upper-byte

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

efficient-modulo

Time of First Successful Submission: 2026-04-22 14:24:18

byte-extraction

Time of First Successful Submission: 2026-04-22 14:28:27

bitwise-and

Time of First Successful Submission: 2026-04-22 14:30:00

check-even

Time of First Successful Submission: 2026-04-22 14:44:05

memory-read

Time of First Successful Submission: 2026-04-22 14:46:45

memory-write

Time of First Successful Submission: 2026-04-22 14:47:24

memory-increment

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

byte-access

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

memory-size-access

Time of First Successful Submission: 2026-04-22 14:55:45

little-endian-write

Time of First Successful Submission: 2026-04-22 15:00:42

memory-sum

Time of First Successful Submission: 2026-04-22 15:06:37

stack-subtraction

Time of First Successful Submission: 2026-04-23 12:25:48

swap-stack-values

Time of First Successful Submission: 2026-04-23 12:27:13

average-stack-values

Time of First Successful Submission: 2026-04-23 12:33:36

absolute-jump

Time of First Successful Submission: 2026-04-23 12:39:21

relative-jump

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

jump-trampoline

Time of First Successful Submission: 2026-04-23 12:48:10

conditional-jump

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

indirect-jump

Time of First Successful Submission: 2026-04-23 13:12:39

average-loop

Time of First Successful Submission: 2026-04-23 13:17:51

count-non-zero

Time of First Successful Submission: 2026-04-23 13:28:44

string-lower

Time of First Successful Submission: 2026-04-23 14:10:45

most-common-byte

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

Exit

Time of First Successful Submission: 2026-04-24 14:00:58

Socket

Time of First Successful Submission: 2026-04-24 14:21:43

Bind

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

Listen

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

Accept

Time of First Successful Submission: 2026-04-25 12:33:57

Static Response

Time of First Successful Submission: 2026-04-25 13:31:44

Dynamic Response

Time of First Successful Submission: 2026-04-25 14:40:16

Iterative GET Server

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

Concurrent GET Server

Time of First Successful Submission: 2026-04-26 14:59:10

Concurrent POST Server

Time of First Successful Submission: 2026-04-27 21:42:25

Web Server

Time of First Successful Submission: 2026-04-27 21:43:36

Debugging Programs

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

Inspecting Registers

Time of First Successful Submission: 2026-04-28 08:46:10

Examining Memory

Time of First Successful Submission: 2026-04-28 09:50:00

Setting Breakpoints

Time of First Successful Submission: 2026-04-28 10:32:30

GDB Scripting

Time of First Successful Submission: 2026-04-28 11:26:58

Modifying Data

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

Modifying Execution

Time of First Successful Submission: 2026-04-28 12:34:06

Broken Functions

Time of First Successful Submission: 2026-04-28 13:59:48


Playing With Programs

35 / 116 9372 / 23768


What's the password?

Time of First Successful Submission: 2026-04-29 16:40:29

... and again!

Time of First Successful Submission: 2026-04-29 16:55:14

Newline Troubles

Time of First Successful Submission: 2026-04-29 16:58:32

Reasoning about files

Time of First Successful Submission: 2026-04-29 17:00:45

Specifying Filenames

Time of First Successful Submission: 2026-04-29 17:02:29

Binary and Hex Encoding

Time of First Successful Submission: 2026-04-29 17:11:12

More Hex

Time of First Successful Submission: 2026-04-29 17:14:53

Decoding Hex

Time of First Successful Submission: 2026-04-29 17:25:17

Decoding Practice

Time of First Successful Submission: 2026-04-29 17:47:29

Encoding Practice

Time of First Successful Submission: 2026-04-29 17:52:05

Hex-encoding ASCII

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

Nested Encoding

Time of First Successful Submission: 2026-04-29 18:23:08

Hex-encoding UTF-8

Time of First Successful Submission: 2026-04-29 18:31:01

UTF Mixups

Time of First Successful Submission: 2026-04-29 19:03:00

Modifying Encoded Data

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

Decoding Base64

Time of First Successful Submission: 2026-04-30 18:26:45

Encoding Base64

Time of First Successful Submission: 2026-04-30 18:41:40

Dealing with Obfuscation

Time of First Successful Submission: 2026-04-30 19:06:37

Dealing with Obfuscation 2

Time of First Successful Submission: 2026-04-30 19:41:37

Your First HTTP Request

Time of First Successful Submission: 2026-04-30 20:48:35

Reading Flask

Time of First Successful Submission: 2026-04-30 20:55:49

Commented Data

Time of First Successful Submission: 2026-04-30 20:59:52

HTTP Metadata

Time of First Successful Submission: 2026-04-30 21:03:15

HTTP (netcat)

Time of First Successful Submission: 2026-05-10 19:22:17

HTTP Paths (netcat)

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

HTTP (curl)

Time of First Successful Submission: 2026-05-10 19:32:57

HTTP (python)

Time of First Successful Submission: 2026-05-10 19:40:37

HTTP Host Header (python)

Time of First Successful Submission: 2026-05-10 19:51:54

HTTP Host Header (curl)

Time of First Successful Submission: 2026-05-10 20:05:27

HTTP Host Header (netcat)

Time of First Successful Submission: 2026-05-10 20:09:53

URL Encoding (netcat)

Time of First Successful Submission: 2026-05-12 13:13:46

HTTP GET Parameters

Time of First Successful Submission: 2026-05-12 13:28:46

Multiple HTTP Parameters (netcat)

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

Multiple HTTP Parameters (curl)

Time of First Successful Submission: 2026-05-12 13:51:42

HTTP Forms

Time of First Successful Submission: 2026-05-12 13:54:43

HTTP Forms (curl)

Time of First Successful Submission: 2026-05-12 14:05:54


GCA CTF

10 / 104 20783 / 45599


Using the Terminal

Time of First Successful Submission: 2026-04-14 17:05:33

Using the VSCode Workspace

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

Using the GUI Desktop

Time of First Successful Submission: 2026-04-14 17:18:55

Pasting into the Desktop

Time of First Successful Submission: 2026-04-14 17:17:50

Restarting Challenges

Time of First Successful Submission: 2026-04-14 17:21:48

Challenge Programs

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

The Flag File

Time of First Successful Submission: 2026-04-14 17:27:27

Using Privileged Mode

Time of First Successful Submission: 2026-04-14 17:33:58

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-14 17:38:59

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-14 17:40:48