Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.


# «.webshell»		(to "webshell")
# «.webshell-old»	(to "webshell-old")
# «.phpnuke»		(to "phpnuke")

# (find-phpdocpage "tutorial")
# (find-phpfuncpage "phpinfo")
# (find-phpfuncpage "require")




#####
#
# ?
# 2004sep24
#
#####

#*
# (ee-once (eeb-php))
echo getcwd(), "\n";
#*
# (ee-once (eeb-php))
echo system("set"), "\n";
#*
# (ee-once (eeb-php))
echo $_SERVER['REMOTE_ADDR'], "\n";
#*
# (ee-once (eeb-php))
$ip = $_SERVER['REMOTE_ADDR'];
$goodip = "127.0.0.1";
if ($ip != $goodip) {
  echo "$ip != $goodip\n";
  exit;
}
echo "ok\n";
#*
# (ee-once (eeb-php+))
# (find-phpdocpage "index")
phpinfo();

#*
# (ee-once (eeb-php))
# (find-phplangpage "types.array")
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"], "\n"; // bar
echo $arr[12], "\n";    // 1

#*





# (find-phpdocpage "index")
# (find-phplangpage "variables.external")
# (find-phpfuncpage "import-request-variables")






#####
#
# webshell
# 2004sep24
#
#####

# «webshell»  (to ".webshell")
#*
sudo touch     /var/www/tmp.php
sudo chmod 666 /var/www/tmp.php

#*
cat > /var/www/tmp.php <<'%%%'
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>

<?
  $ip = $_SERVER['REMOTE_ADDR'];
  $goodip = "127.0.0.1";
  if ($ip != $goodip) {
    echo "$ip != $goodip\n";
    exit;
  } else {
    $pwd = $_REQUEST['pwd'];
    if (!$pwd) { $pwd = getcwd(); }
    $command = $_REQUEST['command'];
    if ($command) { $result = `cd $pwd\n$command`; }
    ?>

<form action="<? echo basename($_SERVER['SCRIPT_NAME']) ?>" method=get>
at: <input type=text name=pwd value="<? echo $pwd ?>" size=56><br>
do:
<textarea name='command' cols=60 rows=4><? echo $command ?>
</textarea>
<br>
<input type=submit name=do value="Go!">
</form>
<pre>
<? echo $result ?>
</pre>

    <?
  }
?>

</body></html>
%%%

lynx http://127.0.0.1/tmp.php

#*
sudo rm /var/www/tmp.php

#*





#####
#
# To run shell commands in machines that allow only php
# 2000aug02
#
#####

# «webshell-old»  (to ".webshell-old")
# (find-fline "~/PHP3/tarstuff.php3")
#*
cat > /var/www/tmp.php3 <<'---'
<? include ("/home/root/PHP3/functions.php3");
  // error_reporting(1+12+48);
  function v($s) { return htmlspecialchars($s); }
  function p($s) { return htmlspecialchars($s); }
  if (!$pwd)
    $pwd = posix_getcwd();
  echo "<head></head>
    <body>
    <form action=\"http://$HTTP_HOST$SCRIPT_NAME\" method=post>
    cd <input type=text size=60 name=pwd value=\"".v($pwd)."\"><br>
    <input type=text size=63 name=cmd value=\"".v($cmd)."\"><br>
    <input type=submit></form>
    <pre>\n";
  if (!@chdir($pwd)) {
    echo "no such dir: $pwd\n";
  } else {
    if ($cmd) {
      $s = "# $pwd\n# $cmd\n\n";
      $arr = array();
      $cmd = "export EE=" . dirname($SCRIPT_FILENAME) . "/ee.sh; " .
	     "alias ee='. $EE'; " .
             "($cmd) 2>&1";
      exec($cmd, $arr, $exitcode);
      $s .= join("\n", $arr) . "\n";
      if ($exitcode)
        $s .= "\n# exitcode = $exitcode\n";
      echo p($s);
    }
  }
  echo "</pre></body>\n";
?>
---
wget -q -O - 'http://127.0.0.1/tmp.php3'
wget -q -O - 'http://127.0.0.1/tmp.php3?pwd=/home'
wget -q -O - 'http://127.0.0.1/tmp.php3?pwd=/home&cmd=echo+hello'
wget -q -O - 'http://127.0.0.1/tmp.php3?pwd=/home&cmd=ls;false'
wget -q -O - 'http://127.0.0.1/tmp.php3?pwd=/naaa'
lynx http://127.0.0.1/tmp.php3

#*




#  Local Variables:
#  coding:               raw-text-unix
#  ee-delimiter-hash:    "\n#*\n"
#  ee-anchor-format:     "«%s»"
#  End: