27 lines
1.0 KiB
Markdown
27 lines
1.0 KiB
Markdown
# simple-nc-server
|
|
|
|
## Ncat
|
|
|
|
Only works with Ncat versions that are compiled with the `-c` switch.
|
|
|
|
```sh
|
|
while true; do nc -lnp 1337 -c 'read REQ; GET=$(echo $REQ | sed -E "s/GET \/(.*) HTTP.*/\1/"); echo -e "HTTP/1.1 200 OK\nContent-Type: text/html; charset=UTF-8\n\n"; eval "$(echo "%>$(cat index.sh.html)<%" | sed -e "s/<%=/<%echo /g" -e "s/<%/\nRAW\n/g" -e "s/%>/\ncat <<- RAW\n/g")"'; done
|
|
```
|
|
|
|
## Busybox httpd
|
|
|
|
If Busybox was compiled with `httpd`, it can serve simple scripts. If there is no `index.html` it tries `cgi-bin/index.cgi` next using whatever is in the shebang. It can be further customized by having a `httpd.conf` around but keeping it minimal, this works in this repo:
|
|
|
|
```sh
|
|
busybox httpd -p 1337 -f
|
|
```
|
|
|
|
_(Note: Alpine Linux now splits Busybox into multiple packages: `apk add busybox-extras`)_
|
|
|
|
## PHP
|
|
|
|
PHP has a built-in server which can come in handy. For this example there is an `index.php` with `index.sh.html` compatible instructions but PHP is quite easy to write so it's better without this extra hoop.
|
|
```sh
|
|
php -S 0.0.0.0:1337
|
|
```
|