Compare commits

..
10 Commits
Author SHA1 Message Date
Connor NelsonandGitHub 10b0b68c57 Fix indentation for interface definition in module.yml
Update Dojo / update (push) Canceled after 0s
2025-09-02 13:52:26 -07:00
Connor NelsonandGitHub 29c2e71ea0 Update interface configuration in module.yml 2025-09-02 13:50:39 -07:00
Yan ShoshitaishviliandGitHub 278e2af172 Merge pull request #2 from Leonabcd123/patch-1
Fixed typo
2025-08-27 12:15:00 -07:00
Leonabcd123andGitHub a4ec496cc1 Plural -> singular
repositories -> repository
2025-08-27 22:05:51 +03:00
Leonabcd123andGitHub 38d87cd90a Fix typo
rememedy -> remedy
2025-08-27 22:03:56 +03:00
Yan 92552c0eb8 fix 2025-08-23 14:25:26 -07:00
Yan 1767b25d3c lectures 2025-08-23 14:24:46 -07:00
Connor Nelson 766bbb8fa8 Add desktop auto launch description 2025-03-20 10:54:37 -07:00
Connor Nelson 80c42066a0 Fix desktop auto launch 2025-03-20 10:52:06 -07:00
Connor Nelson a4227a7758 Wait for desktop to start 2025-03-20 10:42:00 -07:00
7 changed files with 41 additions and 9 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
# Example Dojo # Example Dojo
This repositories features an example dojo. This repository features an example dojo.
The dojo is defined by [dojo.yml](./dojo.yml). The dojo is defined by [dojo.yml](./dojo.yml).
@@ -84,7 +84,7 @@ When `/bin/sh` (which is linked to `/bin/dash`) is run under this, it will immed
This means that both the **effective** and **real** user will be `hacker`, and the flag will not be accessible. This means that both the **effective** and **real** user will be `hacker`, and the flag will not be accessible.
This affects `system`, which ultimately just runs `/bin/sh`. This affects `system`, which ultimately just runs `/bin/sh`.
The challenge can rememedy this by explicitly setting the **real** user to the **effective** user: The challenge can remedy this by explicitly setting the **real** user to the **effective** user:
```c ```c
setreuid(geteuid(), -1) setreuid(geteuid(), -1)
``` ```
+11 -2
View File
@@ -10,10 +10,19 @@ xfce_env() {
} }
xfce_run() { xfce_run() {
setsid su "$USER" -c "env - $(xfce_env) $*" id
which su
echo "$USER"
setsid runuser "$USER" -c "env - $(xfce_env) $*"
} }
# Launch a background process that waits for xfce4-session and then runs the command.
(
while ! pgrep -u "$USER" xfce4-session > /dev/null; do
sleep 1
done
# Consider using `--geometry` to set the window size and position # Consider using `--geometry` to set the window size and position
# Consider using `--fullscreen` to launch the application in fullscreen mode # Consider using `--fullscreen` to launch the application in fullscreen mode
xfce_run exo-open --launch TerminalEmulator xfce_run exo-open --launch TerminalEmulator
) &
+1
View File
@@ -0,0 +1 @@
This challenge demonstrates how to automatically launch a desktop application after the desktop starts.
+1
View File
@@ -8,3 +8,4 @@ modules:
- id: hello - id: hello
- id: world - id: world
- id: demo - id: demo
- id: lectures
+1
View File
@@ -0,0 +1 @@
This module showcases two styles of embedded lectures that pwn.college supports: graded and non-graded.
+1
View File
@@ -0,0 +1 @@
hh4XAU6XYP0 549
+19
View File
@@ -0,0 +1,19 @@
name: Lectures
resources:
- name: Ungraded Lecture
type: lecture
video: hh4XAU6XYP0
slides: 14ZJRIyf0HnoYO1N8GI5ygE-ZVgdhjJrvzkETFLz7NIo
- id: graded-lecture
type: challenge
name: Graded Lecture
description: |
Lectures can be graded by embedding them as challenges!
This is a demonstration of this capability.
Graded lectures are actually custom challenges with a custom interface.
The challenge runs a special docker container, and the way to configure it is to include a .config file containing the youtube ID for the video and the duration in seconds that must be watched before the flag is given.
image: pwncollege/challenge-lecture
interfaces:
- name: Challenge
port: 80