summaryrefslogtreecommitdiffstats
path: root/functions
diff options
context:
space:
mode:
authorRemy <relst@relst.nl>2015-03-18 14:46:03 +0100
committerRemy <relst@relst.nl>2015-03-18 14:46:03 +0100
commit65010ca6390b1991738b3a71b8bec4277293f648 (patch)
tree86a62529672b996de3684488f807f79fbcd90264 /functions
parentaefbe8256b8e67ce150ac4a8d30822f8096ac748 (diff)
downloadssl-decoder-65010ca6390b1991738b3a71b8bec4277293f648.zip
ssl-decoder-65010ca6390b1991738b3a71b8bec4277293f648.tar.gz
ssl-decoder-65010ca6390b1991738b3a71b8bec4277293f648.tar.bz2
better hostname verification
Diffstat (limited to 'functions')
-rw-r--r--functions/connection.php8
-rw-r--r--functions/variables.php18
-rw-r--r--functions/verify_certifitcate.php1
3 files changed, 24 insertions, 3 deletions
diff --git a/functions/connection.php b/functions/connection.php
index b0357b9..de8cdb8 100644
--- a/functions/connection.php
+++ b/functions/connection.php
@@ -225,12 +225,14 @@ if ( $read_stream === false ) {
if ( fixed_gethostbyname($host) ) {
?>
<tr>
- <td>IP / Hostname</td>
+ <td>IP / Hostname / Port</td>
<td>
<?php
- echo fixed_gethostbyname($host);
+ echo htmlspecialchars(fixed_gethostbyname($host));
echo " - ";
- echo gethostbyaddr(fixed_gethostbyname($host));
+ echo htmlspecialchars(gethostbyaddr(fixed_gethostbyname($host)));
+ echo " - ";
+ echo htmlspecialchars($port);
?>
</td>
</tr>
diff --git a/functions/variables.php b/functions/variables.php
index 5b020fa..627e998 100644
--- a/functions/variables.php
+++ b/functions/variables.php
@@ -21,4 +21,22 @@ $ev_oids = array("1.3.6.1.4.1.34697.2.1", "1.3.6.1.4.1.34697.2.2", "1.3.6.1.4.1.
$current_folder = get_current_folder();
+function parse_hostname($u_hostname){
+ # format raymii.org:8080 should auto parse port.
+ # parts[0]=hostname, parts[1]=port
+ $port = 0;
+ $hostname = 0;
+ $parts = explode(":", $u_hostname);
+ if ((1 <= $parts[1]) && ($parts[1] <= 65535)) {
+ $parts[1] = preg_replace('/\\s+/', '', $parts[1]);
+ $parts[1] = preg_replace('/[^A-Za-z0-9\._-]/', '', $parts[1]);
+ $port = mb_strtolower($parts[1]);
+ }
+ $parts[0] = preg_replace('/\\s+/', '', $parts[0]);
+ $parts[0] = preg_replace('/[^A-Za-z0-9\.-]/', '', $parts[0]);
+ $hostname = mb_strtolower($parts[0]);
+ $result = array('hostname' => $hostname, 'port' => $port);
+ return $result;
+}
+
?> \ No newline at end of file
diff --git a/functions/verify_certifitcate.php b/functions/verify_certifitcate.php
index 802eaf4..6c67e10 100644
--- a/functions/verify_certifitcate.php
+++ b/functions/verify_certifitcate.php
@@ -83,6 +83,7 @@ function spki_hash($raw_cert_data) {
$output = shell_exec('openssl x509 -noout -in '.$tmp_dir.$random_blurp.'.cert_client.pem -pubkey | openssl asn1parse -noout -inform pem -out '.$tmp_dir.$random_blurp.'.public.key; openssl dgst -sha256 -binary '. $tmp_dir . $random_blurp . '.public.key | openssl enc -base64 2>&1');
unlink($tmp_dir.$random_blurp.'.cert_client.pem');
+ unlink($tmp_dir.$random_blurp.'.public.key');
return(trim(htmlspecialchars($output)));
}