Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8
[0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8
[1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560
[2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85
[3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50
[4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13
[5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
403WebShell
403Webshell
Server IP : 94.177.8.99  /  Your IP : 216.73.217.165
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/self/root/var/www/patientapps_support/modules/apiDNSclient/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/var/www/patientapps_support/modules/apiDNSclient/main.php
<?php

namespace modules\apiDNSclient;

// \php-pear-Net-DNS-1.0.7-6.el6.noarch.rpm,  with some changes to DNS.php

require_once __DIR__ . '/DNS.php';

	function _is_a($item, $objecttype) {
		$itemclass = strtolower(get_class($item));
		return $itemclass == $objecttype; 
	}
	
	function _asTime($duration) {
		$seconds = $duration . 's';
		$ss = $duration % 60;
		$mm = intval($duration / 60);
		$hh = intval($mm / 60); $mm = $mm % 60;
		$hms = '(' . $hh . 'h ' . $mm . 'm ' . $ss . 's)';
		return "<span title=\"$hms\">$seconds</span>";
	}


class main extends \moduleMain {

	public function __construct() {
		parent::__construct(__DIR__);
	}

	public function Activate() {
		hook_add('dns.lookup', [$this, '__dns_lookup']);
	}

	private function _lookup($query, $servers) {
		$n = new \Net_DNS();
		$n->resolver->recurse = 1;
		$n->resolver->nameservers = $servers;
		$n->resolver->tcp_timeout = 2;
		$answer = $n->resolver->search($query . '.', 'A');
		$answercount = $answer->header->ancount;  
		for ($i=0; $i < $answercount; $i++) {
			$result = $this->_addItem($answer->answer[$i], 'Answer');
			return $result[3];
		}
		return FALSE;
	}
	
	private function _GetNameServers($servers) {
		$default = ['8.8.8.8.', '8.8.4.4'];		// this should be a setting
		if ($servers === NULL) $servers = [];
		if (!is_array($servers)) $servers = [ $servers ];
		if (!count($servers)) return $default;
		
		$output = [];
		foreach($servers as $server) {
			if (!filter_var($server, FILTER_VALIDATE_IP)) {		// have a hostname 
				$res = $this->lookup($server, $default);
				if ($res !== FALSE) $output[] = $res;
			} else {
				$output[] = $server;
			}
		}
		return $output;
	}
	
	public function __dns_lookup(&$result, $query, $type, $servers = NULL) {
		$n = new \Net_DNS();
		$n->resolver->recurse = 1;
		$n->resolver->nameservers = $this->_GetNameServers($servers);
		$n->resolver->tcp_timeout = 2;
		$answer = $n->resolver->search($query . '.', $type);
		if (is_object($answer)) {
			$answercount = $answer->header->ancount;  
			for ($i=0; $i < $answercount; $i++) {
				$result[] = $this->_addItem($answer->answer[$i], 'Answer');
			}

			$answercount = $answer->header->nscount;  
			for ($i=0; $i < $answercount; $i++) {
				$result[] = $this->_addItem($answer->authority[$i], 'Authority');
			}
			$answercount = $answer->header->arcount;  
			for ($i=0; $i < $answercount; $i++) {
				$result[] = $this->_addItem($answer->additional[$i], 'Additional');
			}
		}
	}
	
	private function _addItem($itemdata, $section) {
		$name = $itemdata->name; 
		$class = $itemdata->class; 
		$type = $itemdata->type; 
		$duration = $itemdata->ttl;
		$data = '';
		if (_is_a($itemdata, 'net_dns_rr_mx')) {
			$pref = $itemdata->preference;
			$ex = $itemdata->exchange;
			$data = "<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"100%\">".
			"<tr><td>preference:</td><td align=\"right\">$pref</td></tr>".
			"<tr><td>exchange:</td><td align=\"right\">$ex</td></tr></table>";
		} elseif (_is_a($itemdata, 'net_dns_rr_soa')) {
			$s_server = $itemdata->mname;
			$s_email =  $itemdata->rname;
			$p = strpos($s_email, '.');
			$s_email[$p] = '@';
			$s_serial = $itemdata->serial;
			$s_refresh =_asTime($itemdata->refresh);
			$s_retry =  _asTime($itemdata->retry);
			$s_expire = _asTime($itemdata->expire);
			$s_minttl = _asTime($itemdata->minimum);
			$data = "<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"100%\">".
			"<tr><td>server:</td><td align=\"right\">$s_server</td></tr>".
			"<tr><td>email:</td><td align=\"right\">$s_email</td></tr>".
			"<tr><td>serial:</td><td align=\"right\">$s_serial</td></tr>".
			"<tr><td>refresh:</td><td align=\"right\">$s_refresh</td></tr>".
			"<tr><td>retry:</td><td align=\"right\">$s_retry</td></tr>".
			"<tr><td>expire:</td><td align=\"right\">$s_expire</td></tr>".
			"<tr><td>minimum ttl:</td><td align=\"right\">$s_minttl</td></tr></table>";
		} elseif (_is_a($itemdata, 'net_dns_rr_cname')) {
			$data = $itemdata->cname;
		} elseif (_is_a($itemdata, 'net_dns_rr_ns')) {
			$data = $itemdata->nsdname;
		} elseif (_is_a($itemdata, 'net_dns_rr_aaaa')) {
			$data = $itemdata->address;
		} elseif (_is_a($itemdata, 'net_dns_rr_ptr')) {
			$data = $itemdata->ptrdname;
		} elseif (_is_a($itemdata, 'net_dns_rr_a')) {
			$data = $itemdata->address;
		} elseif (_is_a($itemdata, 'net_dns_rr_txt')) {
			$data = $itemdata->text;
		} else {		// unknown object type
			echo "item: <pre>";
			var_dump($itemdata);
			echo "</pre>";
			exit;
	//		$data = $itemdata['data']; 
		}
		$time = _asTime($duration);
		return [$name, $class, $type, $data, $time];
		return "<tr><td valign=\"top\">$name</td><td valign=\"top\">$class</td>".
			"<td valign=\"top\">$type</td><td valign=\"top\">$data</td>".
	//		"<td valign=\"top\" align=\"right\">$seconds</td><td valign=\"top\">$hms</td></tr>\n";
			"<td valign=\"top\" align=\"right\">$time</td></tr>\n";
	}
}


Youez - 2016 - github.com/yon3zu
LinuXploit