Skip to content

Commit aeb2c02

Browse files
committed
Minor wording
1 parent 04c43c0 commit aeb2c02

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

2019/2019_04_12_WPICTF/breakingin/readme.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# WPICTF 2019 - breakingin - pwn 500
22

3-
For this challenge we were given SSH credentials and told that there was an SSH server listening on localhost on `breakingin.wpictf.xyz`, but the firewall was blocking external access to this server. However there was a 'strange' service listening on port 31337.
3+
For this challenge we were given SSH credentials and told that there was an SSH server listening on localhost on `breakingin.wpictf.xyz`, but the firewall was blocking external access to this server. However there was a 'weird' service listening on port 31337.
44

55
![Challenge description](images/breakingin1.png)
66

@@ -10,8 +10,7 @@ Connecting to this port with netcat showed that this was a service which would s
1010

1111
## Instruction Structure
1212
It's a classic RISC style instruction set, with all instructions taking up 16 bytes, in the following form:
13-
`[op] [A] [B] [C]`
14-
Each part consists of 4 bytes, `op` is the opcode, and `A`, `B` are the operands. `C` is the destination offset. So the operation performed looks like `mem[C] = mem[A] op mem[B]`.
13+
`[op] [A] [B] [C]`. Each part consists of 4 bytes, `op` is the opcode, and `A`, `B` are the operands. `C` is the destination offset. So the operation performed looks like `mem[C] = mem[A] op mem[B]`.
1514

1615
## Hidden Opcode
1716
It's clear that with the standard RoboarchNG instructions we wouldn't be able to do anything interesting aside from arithmetic operations, because there is no way to interact with the system. Interestingly when you connect to the service it says that there's a "special secret op" added. I immediately thought that this must be a syscall, which would enable us to do some interesting things like spawn a shell or read a file. Now we just had to track down this hidden opcode. The issue here was that the opcode is 4 bytes, which makes a possible 4 billion (2^32) opcodes.

0 commit comments

Comments
 (0)