OpenBSD httpd cgi
Page content
… and you thought that cgi is dead …
httpd.conf
cat << 'EOF' > /etc/httpd.conf
types {
include "/usr/share/misc/mime.types"
}
## A minimal default server ##
server "default" {
listen on * port 80
log { access "default-access.log", error "default-error.log" }
location "/cgi-bin/*" {
fastcgi socket "/run/slowcgi.sock"
root "/"
}
}
EOF
chmod 644 /etc/httpd.conf
rcctl enable httpd
rcctl start httpd
Slowcgi
rcctl enable slowcgi
rcctl start slowcgi
CGI
cat << 'EOF' > /var/www/cgi-bin/test.cgi
#!/bin/sh
echo "Content-type: text/html\n\n";
echo "<HTML>\n";
echo "<HEAD>\n";
echo " <title>Ich bin ein Titel :)</title>\n";
echo "</HEAD>\n";
echo "Test from /bin/sh ..!\n";
echo "</HTML>\n";
EOF
chown www /var/www/cgi-bin/test.cgi
chmod 500 /var/www/cgi-bin/test.cgi
Install Interpreter (Chrooted !)
mkdir /var/www/bin/
cp /bin/sh /var/www/bin/
Test
curl http://ip-of-device/cgi-bin/test.cgi
Any Comments ?
sha256: c102990dbf0d3903c8a066e7add79f0d1cac8b99557fb01874b2708d0135b710