diff options
author | Remy <relst@relst.nl> | 2015-03-18 14:46:03 +0100 |
---|---|---|
committer | Remy <relst@relst.nl> | 2015-03-18 14:46:03 +0100 |
commit | 65010ca6390b1991738b3a71b8bec4277293f648 (patch) | |
tree | 86a62529672b996de3684488f807f79fbcd90264 /functions | |
parent | aefbe8256b8e67ce150ac4a8d30822f8096ac748 (diff) | |
download | ssl-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.php | 8 | ||||
-rw-r--r-- | functions/variables.php | 18 | ||||
-rw-r--r-- | functions/verify_certifitcate.php | 1 |
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))); } |