Using shell scripts for CGI in lighttpd
I needed to do some fuzzing experiments on a web browser, and decided that a shell script and a webserver was all I needed to do that. This is how to use shell scripts for cgi, this isnot about the fuzzing proccess.
First, I installed lighttpd and enabled the cgi module:
sudo apt-get install lighttpd
sudo lighty-enable-mod cgi
Then, a handler should be configured in /etc/lighttpd/conf-enabled/10-cgi.conf, like this:
$HTTP["remoteip"] =~ "127.0.0.1" {
alias.url += ( "/cgi-bin/" => "/usr/lib/cgi-bin/" )
$HTTP["url"] =~ "^/cgi-bin/" {
cgi.assign = ( ".sh" => "/bin/sh" )
}
}
Now, make the server reload the config file using
sudo /etc/init.d/lighttpd reload
And here is a simple shell script. Place the shellscript in /usr/lib/cgi-bin/example.sh and remember to set the right permissions for the file.
#!/bin/sh
cat << EOF
Content-Type: text/html
<html>
<head>
<title>cgi shell scripting example\</title>
</head>
<body>
<h1>Stats for this computer</h1>
EOF
echo Date: $(date) "<br />"
echo Uptime: $(uptime) "<br />"
cat << EOF
</body>
</html>
EOF
Notice the extra newline between Content-Type: text/html
and the actual webpage.
Navigate to
http://127.0.0.1/cgi-bin/example.sh to see the script in action.
http://blog.163.com/lgh_2002/blog/static/44017526201192011647957/
(98)Address already in use: make_sock: could not bind to address 80 [resolved]
http://bredsaal.dk/using-shell-scripts-for-cgi-in-lighttpd
Using shell scripts for CGI in lighttpd
http://bredsaal.dk/using-shell-scripts-for-cgi-in-lighttpd
http://www.cnblogs.com/mfryf/archive/2012/05/23/2514495.html
http://www.fpx.de/fp/Software/ProcCGIsh.html