WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
Uname:Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64

Base Dir : /var/www/eduesan

User : www-data


403WebShell
403Webshell
Server IP : 202.131.237.196  /  Your IP : 216.73.216.192
Web Server : nginx/1.14.0
System : Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.2.24-0ubuntu0.18.04.17
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/php/72/src/ext/openssl/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/php/72/src/ext/openssl/tests/bug72333.phpt
--TEST--
Bug #72333: fwrite() on non-blocking SSL sockets doesn't work
--SKIPIF--
<?php
if (!extension_loaded("openssl")) die("skip openssl not loaded");
if (!function_exists("proc_open")) die("skip no proc_open");
?>
--FILE--
<?php
$certFile = __DIR__ . DIRECTORY_SEPARATOR . 'bug72333.pem.tmp';

$serverCode = <<<'CODE'
    $context = stream_context_create(['ssl' => ['local_cert' => '%s']]);

    $flags = STREAM_SERVER_BIND|STREAM_SERVER_LISTEN;
    $fp = stream_socket_server("ssl://127.0.0.1:10011", $errornum, $errorstr, $flags, $context);
    phpt_notify();
    $conn = stream_socket_accept($fp);
    $total = 100000;
    $result = fread($conn, $total);
    stream_set_blocking($conn, false);
    usleep(50000);
    $read = [$conn];
    while (stream_select($read, $write, $except, 1)) {
        $result = fread($conn, 100000);
        if (!$result) {
            break;
        }
        $total += strlen($result);
        if ($total >= 4000000) {
            break;
        }
    }
    phpt_wait();
CODE;
$serverCode = sprintf($serverCode, $certFile);

$peerName = 'bug72333';
$clientCode = <<<'CODE'
    $context = stream_context_create(['ssl' => ['verify_peer' => false, 'peer_name' => '%s']]);

    phpt_wait();
    $fp = stream_socket_client("ssl://127.0.0.1:10011", $errornum, $errorstr, 3000, STREAM_CLIENT_CONNECT, $context);
    stream_set_blocking($fp, false);

    function blocking_fwrite($fp, $buf) {
        $write = [$fp];
        $total = 0;
        while (stream_select($read, $write, $except, 1)) {
            $result = fwrite($fp, $buf);
            if (!$result) {
                break;
            }
            $total += $result;
            if ($total >= strlen($buf)) {
                return $total;
            }
            $buf = substr($buf, $total);
        }
    }
    $str1 = str_repeat("a", 4000000);
    blocking_fwrite($fp, $str1);
    phpt_notify();
    echo "done";
CODE;
$clientCode = sprintf($clientCode, $peerName);

include 'CertificateGenerator.inc';
$certificateGenerator = new CertificateGenerator();
$certificateGenerator->saveNewCertAsFileWithKey($peerName, $certFile);

include 'ServerClientTestCase.inc';
ServerClientTestCase::getInstance()->run($clientCode, $serverCode);
?>
--CLEAN--
<?php
@unlink(__DIR__ . DIRECTORY_SEPARATOR . 'bug72333.pem.tmp');
?>
--EXPECT--
done

Youez - 2016 - github.com/yon3zu
LinuXploit