myresolver.net/index.php

120 lines
5.6 KiB
PHP
Executable File

<?php
#https://favicon.io/favicon-generator/?t=DiD&ff=Odor+Mean+Chey&fs=60&fc=%23FFF&b=rounded&bc=%2300F
$pdo = new PDO(
'mysql:host=gslb.ajserver.com;dbname=dnsidtool',
'dnsid',
'uX6thgZ*CcekfX8',
array(
PDO::MYSQL_ATTR_SSL_KEY =>'/var/www/html/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT=>'/var/www/html/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA =>'/var/www/html/ca-cert.pem',
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
)
);
//$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
?>
<html>
<title>DNS iDentification Tool</title>
<head>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="icon" type="image/png" href="/favicon.ico">
</head>
<body>
<?php
if(isset($_GET['uid'])) {
sleep(1);
$dnsips = shell_exec('for IP in `grep '.strtolower($_GET['uid']).'.'.$_SERVER['SERVER_NAME'].' /var/log/dnsmasq.log | grep query | awk \'{print $NF}\'`; do echo "$IP"; done');
foreach(preg_split("/((\r?\n)|(\r\n?))/", $dnsips) as $line){
if (!empty($line)) {
echo $line . "<br/>\n";
$ipbinary = ip2long($line);
$ipclientbin = ip2long($_SERVER['REMOTE_ADDR']);
$pdo->query("INSERT INTO DNSResolverOutIPs (did, IPv4, clientIPv4) VALUES ('$_GET[uid]', '$ipbinary', $ipclientbin);");
}
}
} elseif (isset($_GET['locator'])) {
echo "";
} elseif (isset($_GET['recall'])) {
$recall = $pdo->prepare("SELECT ClientIPv4,REMOTE_PORT,HTTP_USER_AGENT,HTTP_ACCEPT_LANGUAGE FROM webRequests WHERE did = :did")->execute(array(':did' => $_GET['recall']));
echo $recall->fetch(PDO::FETCH_ASSOC);
//$clientaddr = long2ip($cmd->fetch(PDO::FETCH_COLUMN));
//$remoteport = $cmd->fetch(PDO::FETCH_COLUMN);
?>
<h2>Welcome to the DNS iDentification Tool - RECALL</h2>
This tool is under development, use at your own risk!</br></br>
<table border=1 style="border: 1px solid black">
<tr><td>Your Address</td><td><?php echo $clientaddr; ?></td></tr>
<?php
echo "<tr><td>Connecting Port:</td><td>".$remoteport."</td></tr>"."\n";
echo "<tr><td>Browser Info:</td><td>".$pdo->query("SELECT HTTP_USER_AGENT FROM webRequests WHERE did = :did")->execute(array(':did' => $_GET['recall']))->fetch(PDO::FETCH_COLUMN)."</td></tr>"."\n";
echo "<tr><td>Browser Languages</td><td>".$pdo->query("SELECT HTTP_ACCEPT_LANGUAGE FROM webRequests WHERE did = :did")->execute(array(':did' => $_GET['recall']))->fetch(PDO::FETCH_COLUMN)."</td></tr>"."\n";
if(isset($_SERVER['HTTP_REFERER'])) {echo "<tr><td>Refering Page:</td><td>".$_SERVER['HTTP_REFERER']."</td></tr>"."\n";}
echo "<tr><td>Requested Time:</td><td>".$_SERVER['REQUEST_TIME_FLOAT']."</td></tr>"."\n";
echo "</table>";
?>
<h3>
The IP address(es) your DNS resolver(s) connected from:</h3>
<?php
$pdo->query("SELECT IPv4 FROM DNSResolverOutIPs WHERE did = '$_GET[recall]'");
} else {
$did = uniqid($_SERVER['SERVER_ADDR'].'-', true);
?>
<iframe src="http://<?php echo $did;?>.<?php echo $_SERVER['SERVER_NAME'].'/?locator=true';?>." style="display: none;"></iframe>
<h2>Welcome to the DNS iDentification Tool</h2>
This tool is under development, use at your own risk!</br></br>
<table border=1 style="border: 1px solid black">
<tr><td>Your Address</td><td><?php if(isset($_SERVER['REMOTE_HOST'])) {echo $_SERVER['REMOTE_HOST'];}?><<?php echo $_SERVER['REMOTE_ADDR']; ?>></td></tr>
<?php
echo "<tr><td>Connecting Port:</td><td>".$_SERVER['REMOTE_PORT']."</td></tr>"."\n";
echo "<tr><td>Browser Info:</td><td>".$_SERVER['HTTP_USER_AGENT']."</td></tr>"."\n";
//echo "<tr><td>Browser UIR:</td><td>".$_SERVER['HTTP_UPGRADE_INSECURE_REQUESTS']."</td></tr>"."\n";
//echo "<tr><td>Browser content accepted</td><td>".$_SERVER['HTTP_ACCEPT']."</td></tr>"."\n";
echo "<tr><td>Browser Languages</td><td>".$_SERVER['HTTP_ACCEPT_LANGUAGE']."</td></tr>"."\n";
//echo "<tr><td>Browser Compression</td><td>".$_SERVER['HTTP_ACCEPT_ENCODING']."</td></tr>"."\n";
//echo "<tr><td>Browser Keep Alive</td><td>".$_SERVER['HTTP_CONNECTION']."</td></tr>"."\n";
if(isset($_SERVER['HTTP_REFERER'])) {echo "<tr><td>Refering Page:</td><td>".$_SERVER['HTTP_REFERER']."</td></tr>"."\n";}
echo "<tr><td>Requested Time:</td><td>".$_SERVER['REQUEST_TIME_FLOAT']."</td></tr>"."\n";
echo "</table>";
?>
<h3>
The IP address(es) your DNS resolver(s) connected from:</h3>
<iframe src="http://<?php echo $_SERVER['SERVER_NAME']."?uid=".$did?>"></iframe></br>
<?php
$pdo->prepare("INSERT INTO webRequests (did) VALUES (?)")->execute([$did]);
$things = array('REQUEST_URI', 'QUERY_STRING', 'REQUEST_METHOD', 'REMOTE_PORT', 'REQUEST_SCHEME', 'SERVER_PORT', 'SERVER_NAME', 'HTTP_CONNECTION', 'HTTP_ACCEPT_ENCODING', 'HTTP_ACCEPT_LANGUAGE', 'HTTP_USER_AGENT', 'HTTP_ACCEPT', 'HTTP_UPGRADE_INSECURE_REQUESTS', 'HTTP_HOST', 'UNIQUE_ID', 'FCGI_ROLE', 'PHP_SELF', 'REQUEST_TIME_FLOAT');
foreach ($things as $thing) {
$pdo->query("UPDATE webRequests SET $thing = '$_SERVER[$thing]' WHERE did = '$did';");
//$cmd = $pdo->prepare("UPDATE webRequests SET {$thing} = $ WHERE did = $");
//$cmd->execute([$_SERVER[$thing], $did]);
}
$ipbinary = ip2long($_SERVER['REMOTE_ADDR']);
$pdo->query("UPDATE webRequests SET ClientIPv4 = $ipbinary WHERE did = '$did';");
if(isset($_SERVER['REMOTE_HOST'])) {
$pdo->query("UPDATE webRequests SET FQDN = '$_SERVER[REMOTE_HOST]' WHERE did = '$did';");
}
while (list($var,$value) = each ($_SERVER)) {
echo "$var => $value <br />";
}
?>
</body></html>
<?php
} # end else of if(isset($_GET['uid']))
?>