Ben shell_exec () kullanarak girmek ve çıkış gösteriyor komutları çalıştırmak için basit bir cmd.php sayfa var.
- PHP, CGI gibi is koşu
- "Php-v" girme ve çoğu sadece göstermek buyurur: sonra "Content-type text / html" ve geçerli sayfanın HTML kaynak.
Ancak, geçersiz bir parametre ile PHP çağırarak (/usr/bin/php -z) PHPs kullanımı gösterir:
Usage: php [-q] [-h] [-s] [-v] [-i] [-f ] php [args...]
etc...
Ben ne demek istediğimi göstermek için görüntülerin bir çift bağlı.
PHP -v beklenen çıktıyı üretmek değil
üretmek -v
PHP -z PHP'nin kullanımını gösterir
gösterir
Herhangi bir fikir?
Edit
cmd.php
<?php
if ( isset ( $_POST['submit'] ) ) :
$response = shell_exec ( escapeshellcmd ( stripslashes ( $_POST['cmd'] ) ) );
endif;
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style type="text/css">
pre#response { border: 1px solid #e0e0e0; padding: .5em; }
</style>
<title>Command</title>
</head>
<body>
<form action="cmd.php" method="post">
<p><input type="text" name="cmd" id="cmd" value="<?php echo @htmlspecialchars ( stripslashes ( $_POST['cmd'] ) ); ?>" size="50" />
<button type="submit" name="submit" id="submit" value="Submit">Submit</button>
</p>
</form>
<?php
if ( isset ( $response ) ) :
?>
<pre id="response"><?php
if ( empty ( $response ) ) :
echo 'No response.';
else :
echo htmlspecialchars ( $response );
endif;
?></pre>
<?php
endif;
?>
</body>
</html>