whois.handle: ALICE-SMART
whois.name: Telecom Italia S.p.A.
whois.cidrs: 95.224.0.0/12
whois.created: 2010-06-03T00:00:00.000000
whois.updated: 2019-10-01T00:00:00.000000
whois.handle: ORG-TIWS1-RIPE
whois.name: Telecom Italia S.p.A.
whois.address: Via Oriolo Romano 240\n00189\nRome\nITALY
whois.handle: ACT359-RIPE
whois.name: Abuse Consumer TIM
whois.email: abuse@retail.telecomitalia.it
whois.handle: ESC34-RIPE
whois.name: Engineering Staff Consumer
whois.email: tiws@telecomitalia.it
whois.handle: PFV7-RIPE
whois.name: Pier Francesco Vincenti
whois.handle: TT616-RIPE
whois.name: Thomas Tozzi
services.protocol: UNKNOWN
services.transport_protocol: TCP
services.scan_time: 2025-07-28T03:43:44.886029
services.version_selected: TLSv1_0
services.cipher_selected: TLS_RSA_WITH_AES_128_CBC_SHA
services.ja4s: t100100_002f_bc98f8e001b5
services.version: TLSv1_0
services.ja4s: t100100_002f_bc98f8e001b5
services.version: SSLv3
services.issuer_dn: CN=FGT60C3G10025037, O=Fortinet Ltd.
services.common_name: FGT60C3G10025037
services.organization: Fortinet Ltd.
services.subject_dn: CN=FGT60C3G10025037, O=Fortinet Ltd.
services.common_name: FGT60C3G10025037
services.organization: Fortinet Ltd.
services.scan_time: 2025-07-28T02:18:33.507820
services.protocol: UNKNOWN
services.transport_protocol: TCP
services.scan_time: 2025-07-27T15:39:47.761695
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T08:02:12.415377
services.banner: HTTP/1.1 200 OK
  Date:  <REDACTED>
  Set-Cookie: APSCOOKIE=0&0; path=/; expires=Fri, 08-Aug-1975 21:41:27 GMT
  Set-Cookie: log_filters=; path=/log/; expires=Fri, 08-Aug-1975 21:41:27 GMT
  Set-Cookie: log_type=; path=/log/; expires=Fri, 08-Aug-1975 21:41:27 GMT
  Set-Cookie: sql_upgrade=; path=/; expires=Fri, 08-Aug-1975 21:41:27 GMT
  Transfer-Encoding: chunked
  Content-Type: text/html
  
services.version_selected: TLSv1_0
services.cipher_selected: TLS_RSA_WITH_AES_128_CBC_SHA
services.ja4s: t100200_002f_2412b79bd618
services.version: TLSv1_0
services.ja4s: t100200_002f_2412b79bd618
services.version: SSLv3
services.issuer_dn: CN=FGT60C3G10025037, O=Fortinet Ltd.
services.common_name: FGT60C3G10025037
services.organization: Fortinet Ltd.
services.subject_dn: CN=FGT60C3G10025037, O=Fortinet Ltd.
services.common_name: FGT60C3G10025037
services.organization: Fortinet Ltd.
services.scan_time: 2025-07-23T05:23:37.049171
services.value: login-page
services.path: /login
services.endpoint_type: HTTP
services.scan_time: 2025-07-27T08:02:12.415377
services.uri: https://95.230.196.155:10443/login
services.protocol: HTTP/1.1
services.status_reason: OK
services.key: Date
services.headers: <REDACTED>
services.key: Set-Cookie
services.headers: APSCOOKIE=0&0; path=/; expires=Fri, 08-Aug-1975 21:41:27 GMT log_filters=; path=/log/; expires=Fri, 08-Aug-1975 21:41:27 GMT log_type=; path=/log/; expires=Fri, 08-Aug-1975 21:41:27 GMT sql_upgrade=; path=/; expires=Fri, 08-Aug-1975 21:41:27 GMT
services.key: Transfer-Encoding
services.headers: chunked
services.key: Content-Type
services.headers: text/html
services.html_tags: <title>Please login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="pragma" content="no-cache">
services.body: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
  <html style="height:100%">
  <head>
  <title>Please login</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <meta http-equiv="pragma" content="no-cache">
  <link href="/13071/style.css" rel="stylesheet" type="text/css">
  <script language="JavaScript">
  if (top.location != window.location) top.location.reload();
  if (window.opener) {window.opener.top.location.reload(); self.close();}
  </script>
  <style>
  body {height: 100%; padding: 0; margin: 0;}
  #container {text-align: center; width: 100%; height: 100%;}
  #login_panel {background: #FFFFFF url(/images/logon_merge.gif) center center no-repeat; height: 164px; width:334px; padding: 82px 62px; border: 2px solid #999999; margin: 0 auto; overflow: visible; position: relative;}
  #login_panel fieldset {margin: 5px 0; width: auto; text-align: right;}
  #login_panel label {float: left; clear: left; margin: 3px 0; padding: 3px 0;}
  #login_panel input {float: right; clear: right; margin: 3px 0;}
  #login_panel input#username, #login_panel input#secretkey {width: 205px;}
  #login_button {background-image: url('/images/logon.gif'); border: 0; width: 60px; height: 28px; font-weight: bold; color: #fff; margin: 18px 0;}
  #err_msg_txt {padding: 18px 0 22px 0; margin: 0; text-align: left;}
  #js_msg_txt {color: red; padding: 5px;}
  </style>
  </head>
  <body>
  <table id="container">
  <tr><td>
  <div name="js_msg_txt" id="js_msg_txt">Warning: this page requires Javascript. To correctly view, please enable it in your browser.</div>
  <form id="login_panel" action="" onsubmit="return false;" method="get" name="login" autocomplete="off">
  <div name="err_msg_txt" id="err_msg_txt">Please login...</div>
  <label for="username">Name</label>
  <input type="text" name="username" id="username" size="30" value="" maxlength="35">
  <label for="secretkey">Password</label>
  <input type=password name="secretkey" id="secretkey" size=30>
  <input name="login_button" id="login_button" type="button" onclick="try_login();" value="Login">
  </form>
  </td></tr>
  </table>
  <script language="JavaScript">
  <!--
  /******************************
   Ajax Login
   Init by A. Krywaniuk, Mar 2006
   Copyright Fortinet, inc.
   All rights reserved
   ******************************/
  
  // EXPORT_SYMBOL str_table
  // EXPORT_SYMBOL try_login
  // EXPORT_SYMBOL key_pressdown
  
  var my_xmlhttp = null;
  var buf_request_in_progress = false;
  
  
  // Ajax requests are always encoded in UTF-8. So, I assume, are the responses.
  // We can't easily return a string from the server, so better to cache them
  // all here. (This table will be overriden by the C code when the page is generated.)
  function login_string_table_t()
  {
  	this.login_failed = "Authentication failure";
  	this.lockout_msg = "User lockout";
  	this.server_unreachable = "Server unreachable";
  }
  
  var str_table = new login_string_table_t();
  
  //Copy from Util.js ,then we can remove Util.js from login.html and 
  //check the access permision when user access Util.js.  
  function get_xmlhttp() {
  	var xmlhttp = null;
  
  	try {
  		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  	} catch(e) {
  		try {
  			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  		} catch(oc) {
  			xmlhttp = null;
  		}
  	}
  
  	if (!xmlhttp && typeof XMLHttpRequest != "undefined") {
  		xmlhttp = new XMLHttpRequest();
  	}
  
  	return xmlhttp;
  }
  
  // login_send_request - send the login request as an Ajax message.
  function login_send_request(str_url, str_body) 
  { 
  	my_xmlhttp = get_xmlhttp();
  	my_xmlhttp.onreadystatechange = handle_buffer_statechange;
  	
  	my_xmlhttp.open("POST", str_url, true);
  	my_xmlhttp.setRequestHeader("Pragma", "no-cache");
  	my_xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
  	my_xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
  	my_xmlhttp.send(str_body);
  }
  
  // handle_buffer_statechange - onreadystatechange callback for the Ajax request.
  function handle_buffer_statechange(ev)
  {
  	if (my_xmlhttp.readyState == 4) // 4 == complete
  	{
  		handle_buffer_ready();
  	}
  }
  
  
  // try_login - begin the login process.
  function try_login()
  {
  	if (buf_request_in_progress)
  	{
  		throw("Avoid sending conflicting request\n");
  		return;
  	}
  
  	buf_request_in_progress = true;
  
  	var elm_username = document.getElementById("username");
  	var elm_secretkey = document.getElementById("secretkey");
  
  	var xstr = "ajax=1&username=" + encodeURIComponent(elm_username.value) + "&secretkey=" + encodeURIComponent(elm_secretkey.value);
  	
  	var elm_twofactor = document.getElementById("auth_two_factor");
  	var elm_authtoken = document.getElementById("auth_token");
  	
  	if (elm_twofactor && elm_authtoken)
  	{
  		xstr += "&auth_two_factor=1&auth_token=" + encodeURIComponent(elm_authtoken.value);
  	}
          
  	clear_error_status_line();
  	disable_input();
  	
  	try
  	{
  		login_send_request("/logincheck", xstr);
  	}
  	catch (e)
  	{
  		buf_request_in_progress = false;
  		update_error_status_line(str_table.server_unreachable);
  		reenable_input();
  		
  		my_xmlhttp.abort();
  		delete my_xmlhttp;
  		my_xmlhttp = null;
  	}
  }
  
  
  // Display a message in red above the username.
  // Flash the colour between black and red to draw the user's attention (in particular when
  // the error message is the same as the one from the previous request).
  function update_error_status_line(msg)
  {
  	var elem = document.getElementById("err_msg_txt");
  	// [red->]black->red visual cue (in case the text doesn't change)
  	elem.style.color = "black";
  	
  	while(elem.childNodes.length)
  	{
  		elem.removeChild(elem.childNodes[0]);
  	}
  
  	var txt = document.createTextNode(msg);
  	elem.appendChild(txt);
  	
  	setTimeout("var elem = document.getElementById(\"err_msg_txt\");  elem.style.color = \"red\";", 100);
  }
  
  function clear_error_status_line()
  {
  	var elem = document.getElementById("err_msg_txt");
  	elem.style.color = "transparent";
  }
  
  
  // handle_buffer_ready - function to handle the Ajax response. The first
  // character of the response is the status code (0 is failure, 1 is success,
  // and 2 is a special case for the 1 minute lockout). If success, the
  // remainder of the string contains a JS function to redirect to the main page.
  function handle_buffer_ready()
  {
  	// Check & reset semaphore.
  	if (!buf_request_in_progress)
  		return;
  
  	buf_request_in_progress = false;
  
  	var retval = my_xmlhttp.responseText;
  	
  	my_xmlhttp = null;
  	
  	if (retval.length == 0)
  	{
  		update_error_status_line(str_table.server_unreachable);
  		reenable_input();
  		return;
  	}
  
  	var rv = retval.charAt(0); 
  	var rv2 = retval.substring(1); 
  	
  	if (rv == "1")
  	{
  		// Originally the rv was a document containing JS.
  		// Now it's just JS.
  		eval(rv2);
  	}
  	else if (rv == "2") 
  	{
  		// rv = 2 is for 1 minute lockout
  		update_error_status_line(str_table.lockout_msg);
  		
  		// Leave form fields during lockout period.
  		setTimeout("reenable_input();", 60 * 1000);
  	}
  	else
  	{
  		update_error_status_line(str_table.login_failed);
  		reenable_input();
  	}
  }
  
  function disable_input()
  {
  	var elm_username = document.getElementById("username");
  	var elm_secretkey = document.getElementById("secretkey");
  	var elm_button = document.getElementById("login_button");
  	var two_factor_auth = (!!document.getElementById("auth_two_factor"));
  
  	if (!two_factor_auth) elm_username.value = "";
  	elm_username.disabled = true;
  	elm_secretkey.value = "";
  	elm_secretkey.disabled = true;
  	elm_button.disabled = true;
  }
  
  function reenable_input()
  {
  	var elm_username = document.getElementById("username");
  	var elm_secretkey = document.getElementById("secretkey");
  	var elm_button = document.getElementById("login_button");
  	var two_factor_auth = (!!document.getElementById("auth_two_factor"));
  	
  	elm_username.disabled = false;
  	elm_secretkey.disabled = false;
  	elm_button.disabled = false;
  
  	// Blur and set the focus on username
  	elm_username.blur();
          
  	if (two_factor_auth) 
  		elm_secretkey.focus();
  	else
  		elm_username.focus();
  }
  
  // login_get_cmd_kbd_event and login_crack_kbd_event are the copies of 
  // get_cmd_kbd_event and crack_kbd_event from jsconsole.js
  // login_get_cmd_kbd_event - same as get_cons_kbd_event, but uses different document object
  function login_get_cmd_kbd_event(evt_p)
  {
  	if (evt_p)
  		return evt_p;
  	evt = window.event;
  	if (evt) 
  		return evt;
  	return null;
  }
  
  // login_crack_kbd_event - Returns the keypress code associated with the event.
  function login_crack_kbd_event(evt)
  {
  	if (evt.which)
  		return evt.which;
  	else if (evt.keyCode)
  		return evt.keyCode;
  	else if (evt.charCode)
  		return evt.charCode;
  	return 0;
  }
  
  function key_pressdown(evt_p)
  {
  	try
  	{
  		var evt = login_get_cmd_kbd_event(evt_p);
  		if(evt == null) return;
  		var key_code = login_crack_kbd_event(evt);
  		if(key_code == 0) return;
  		// CR: Click login button
  		if (key_code == 13)
  		{
  			var elm_button = document.getElementById("login_button");
  			elm_button.click();
  			return false;
  		}
  	}
  	catch (e)
  	{
  	}
  
  	return true;
  }
  
  //-->
  </script>
  <script language="Javascript">
  document.onkeydown = key_pressdown;
  document.forms[0].username.focus();
  document.getElementById("js_msg_txt").style.display = "none";
  str_table.login_failed = "Authentication failure. Please try again...";
  str_table.lockout_msg = "Too many login failures. Please try again in a few minutes...";
  str_table.server_unreachable = "Unable to contact server.";
  </script>
  </body>
  </html>
  
services.body_hash_sha1: sha1:e2b2f5abc10de5c4a1e904c110622faa0dfd64c9
services.supported_versions: HTTP/1.1
[binary data, 19 values, 650 bytes]