403Webshell
Server IP : 101.53.144.229  /  Your IP : 216.73.216.181
Web Server : Apache
System : Linux host.gdigitalindia.in 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : digitalshiksha ( 1179)
PHP Version : 5.6.40
Disable Function : eval,show_source,system,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,show_source,curl_multi_exechellcmd, ini_restore,apache_get_modules,get_cfg_var,passthru, exec ,proc_get_status,fpassthru,c999_buff_prepare,c999_sess_put,c99_buff_prepare,c99_sess_put,proc_close,ini_alter,dl,symlink,link,proc_close,ini_alter,dl,symlink,link,mail
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/nmap/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/nmap/scripts/ajp-auth.nse
local ajp = require "ajp"
local http = require "http"
local shortport = require "shortport"
local stdnse = require "stdnse"
local table = require "table"

description = [[
Retrieves the authentication scheme and realm of an AJP service (Apache JServ Protocol) that requires authentication.
]]

---
-- @usage
-- nmap -p 8009 <ip> --script ajp-auth [--script-args ajp-auth.path=/login]
--
-- @output
-- PORT     STATE SERVICE
-- 8009/tcp open  ajp13
-- | ajp-auth: 
-- |_  Digest opaque=GPui3SvCGBoHrRMMzSsgaYBV qop=auth nonce=1336063830612:935b5b389696b0f67b9193e19f47e037 realm=example.org
--
-- @args ajp-auth.path  Define the request path
--

author = "Patrik Karlsson"
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
categories = {"default", "auth", "safe"}


portrule = shortport.port_or_service(8009, 'ajp13', 'tcp')

local arg_path = stdnse.get_script_args(SCRIPT_NAME .. ".path")

local function fail(err) return ("\n  ERROR: %s"):format(err or "") end

action = function(host, port)
	local helper = ajp.Helper:new(host, port)
	
	if ( not(helper:connect()) ) then
		return fail("Failed to connect to AJP server")
	end
	
	local status, answer = helper:get(arg_path or "/")

	--- check for 401 response code
	if ( not(status) or answer.status ~= 401 ) then
		return
	end

	local result = { name = answer["status-line"]:match("^(.*)\r?\n$") }

	local www_authenticate = answer.headers["www-authenticate"]
	if not www_authenticate then
    	table.insert( result, ("Server returned status %d but no WWW-Authenticate header."):format(answer.status) )
		return stdnse.format_output(true, result)
	end

	local challenges = http.parse_www_authenticate(www_authenticate)
	if ( not(challenges) ) then
    	table.insert( result, ("Server returned status %d but the WWW-Authenticate header could not be parsed."):format(answer.status) )
		table.insert( result, ("WWW-Authenticate: %s"):format(www_authenticate) )
		return stdnse.format_output(true, result)
	end

	for _, challenge in ipairs(challenges) do
		local line = challenge.scheme
		if ( challenge.params ) then
			for name, value in pairs(challenge.params) do
				line = line .. (" %s=%s"):format(name, value)
			end
		end
		table.insert(result, line)
	end
	return stdnse.format_output(true, result)
end

Youez - 2016 - github.com/yon3zu
LinuXploit