403Webshell
Server IP : 104.21.38.3  /  Your IP : 172.70.189.96
Web Server : Apache
System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/php/74/src/ext/phar/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/php/74/src/ext/phar/gdbhelp
define ___pharglobals
	if basic_functions_module.zts
		set $tsrm_ls = ts_resource_ex(0, 0)
		set $pharglobals = ((zend_phar_globals) (*((void ***) $tsrm_ls))[phar_globals_id-1])
	else
		set $pharglobals = phar_globals
	end
end

define ____print_pharht
	set $ht = $arg0
	set $p = $ht.pListHead

	while $p != 0
		set $i = $ind
		while $i > 0
			printf "  "
			set $i = $i - 1
		end

		set $temp = *(phar_archive_data*)$p->pDataPtr
		____print_str $temp.fname $temp.fname_len
		printf " => "

		if $arg1 == 0

			printf "%i (alias ", $temp.refcount
			____print_str $temp.alias $temp.alias_len
			printf ")\n"
		end

		set $p = $p->pListNext
	end
end

define print_phar
	set $ind = 1
	___pharglobals
	printf "{"
	____print_pharht $pharglobals.phar_fname_map 0
	printf "}\n"
end

document display_phar_globals
	display phar globals
end

define display_phar_globals
	___pharglobals
	graph display $phar_globals.$arg0
end

define print_pharfp
	___pharglobals
	set $ht = $pharglobals.phar_fname_map
	set $p = $ht.pListHead
	set $fpcount = 0

	while $p != 0
		set $pharname = (*(phar_archive_data*)$p->pDataPtr).fname
		set $pharrefcount = (*(phar_archive_data*)$p->pDataPtr).refcount
		if (*(phar_archive_data*)$p->pDataPtr).fp != 0
			set $fpcount = $fpcount + 1
			printf "phar %s is open (%i)\n", $pharname, $pharrefcount
		end
		set $manifest = (*(phar_archive_data*)$p->pDataPtr).manifest
		set $m = $manifest.pListHead
		while $m != 0
			if (*(phar_entry_info *)$m->pData).fp
				set $fpcount = $fpcount + 1
				set $a = (*(phar_entry_info *)$m->pData).fp_refcount
				printf "phar %s file %s is open (%i)\n", $pharname, (*(phar_entry_info *)$m->pData).filename, $a
			end
			set $m = $m->pListNext
		end

		set $p = $p->pListNext
	end
	printf "Open file pointers: %d\n", $fpcount
end

document print_pharfp
	displays all open file pointers in phar, and the phars plus entries that are open with reference counts
end

define dump_entry
	___pharglobals
	set $ht = $pharglobals.phar_fname_map
	set $p = $ht.pListHead
	set $done = 0
	while $p != 0
		set $t = (*(phar_archive_data*)$p->pDataPtr)
		if $t.fname[0] == $arg0[0] || $t.alias[0] == $arg0[0]
			set $manifest = (*(phar_archive_data*)$p->pDataPtr).manifest
			set $m = $manifest.pListHead
			while $m != 0
				if (*(phar_entry_info *)$m->pData).filename[0] == $arg1[0]
					if $argc == 3
						output *((phar_entry_info *)$m->pData)->fp
					end
					if $argc == 2
						output *(phar_entry_info *)$m->pData
					end
					printf "\n"
					set $done = 1
					loop_break
				end
				set $m = $m->pListNext
			end
		end
		if $done == 1
			loop_break
		end
		set $p = $p->pListNext
	end
end

document dump_entry
	dump_entry "pharname"|"pharalias" "filename" [1]
	display phar_entry_info for a file within a phar.  If the optional third param
	is passed in, displays the php_stream that is the file's fp
end

Youez - 2016 - github.com/yon3zu
LinuXploit