whois.handle: DIGI95
whois.name: Digital Telecom
whois.cidrs: 103.164.140.0/23
whois.updated: 2021-03-18T00:00:00.000000
services.protocol: FTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T18:59:01.384532
services.banner: 220 TP-LINK FTP version 1.0 ready at Sun Jan  2 15:25:42 2000
  
services.source: OSI_APPLICATION_LAYER
services.part: a
services.product: FTPD
services.version: 1.0
services.cpe: cpe:2.3:a:*:ftpd:1.0:*:*:*:*:*:*:*
services.source: OSI_APPLICATION_LAYER
services.part: h
services.vendor: TP-LINK
services.value: file-sharing
services.banner: 220 TP-LINK FTP version 1.0 ready at Sun Jan  2 15:25:42 2000
  
services.auth_tls_response: 500 Unknown command 'auth TLS'
  
services.auth_ssl_response: 500 Unknown command 'auth SSL'
  
services.status_meaning: Service ready for new user.
services.protocol: TELNET
services.transport_protocol: TCP
services.scan_time: 2025-07-28T11:25:45.277482
services.banner: 
  Password: 
services.value: remote-access
services.value: network-administration
services.banner: 
  Password: 
services.value: Suppress Go Ahead
services.value: Echo
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T16:25:28.301689
services.banner: HTTP/1.1 200 OK
  Content-Type: text/html
  Date:  <REDACTED>
  Pragma: no-cache
  Expires: Thu, 26 Oct 1995 00:00:00 GMT
  Transfer-Encoding: chunked
  X-Frame-Options: sameorigin
  Server: WebServer/1.0 UPnP/1.0
  EXT:
  
services.path: /login_security.html
services.endpoint_type: HTTP
services.scan_time: 2025-07-27T16:25:28.301689
services.uri: http://103.164.140.202/login_security.html
services.protocol: HTTP/1.1
services.status_reason: OK
services.key: Transfer-Encoding
services.headers: chunked
services.key: Server
services.headers: WebServer/1.0 UPnP/1.0
services.key: X-Frame-Options
services.headers: sameorigin
services.key: Expires
services.headers: Thu, 26 Oct 1995 00:00:00 GMT
services.key: Content-Type
services.headers: text/html
services.key: Pragma
services.headers: no-cache
services.key: Date
services.headers: <REDACTED>
services.key: EXT
services.html_tags: <meta http-equiv=Content-Script-Type content=text/javascript> <meta http-equiv=Content-Style-Type content=text/css> <meta http-equiv=Content-Type content="text/html; charset=
  UTF-8">
services.body: <html><head>
  <meta http-equiv=Content-Script-Type content=text/javascript>
  <meta http-equiv=Content-Style-Type content=text/css>
  <meta http-equiv=Content-Type content="text/html; charset=
  UTF-8">
  <link rel="stylesheet" href="../css/style.css" type="text/css">
  <style type="text/css">
  input.text
  {
  border:1px solid #E5E5E5;
  height:26px;
  line-height:26px;
  width:175px;
  padding:0px;
  margin:4px 0px 0px 10px;
  font-size:14px;
  color:#6a6969;
  font-family:"Verdana","Arial";
  outline: none;
  }
  input.LoginBtn
  {
  height:28px;
  display:inline-block;
  margin-top:30px;
  font-size:18px;
  cursor:pointer;
  background-color: #4ACBD6;width: 110px;}
  #copyright
  {
  -webkit-text-size-adjust:none;
  font-size:9px;
  color:#6a6969;
  font-family:"Verdana";
  margin-top:40px;
  display:inline-block;
  }
  </style>
  <script language="JavaScript">
  <!--
  function doLoad(){
  document.Login_Form.Login_Name.disabled = false;
  document.Login_Form.Login_Pwd.disabled =false;
  document.Login_Form.texttpLoginBtn.disabled = false;
  if (window != top) top.location.href = location.href;
  document.Login_Form.Login_Name.focus();
  }
  var key_flag = 0;
  var hex_chr = "0123456789abcdef";
  function rhex(num)
  {
  var str = "";
  for(var j = 0; j <= 3; j++){
  var num1=rightmove(num , (j * 8 + 4)) ;
  var num2=and(num1,0x0f);
  var num3=rightmove(num,j*8);
  var num4=and(num3,0x0f);
  str += hex_chr.charAt(num2) + hex_chr.charAt(num4);
  }
  return str;
  }
  function and(i,j)
  {
  var temi;
  var temj;
  var result;
  if(i >= 0 && i < 0X80000000)
  if(j >= 0 && j < 0X80000000)
  return i&j;
  if(i < 0 || i >= 0X80000000) {
  if(j < 0 || j >= 0X80000000){
  if(i < 0)
  temi = i + 0x80000000;
  else
  temi = i - 0X80000000;
  if(j < 0)
  temj = j + 0x80000000;
  else
  temj = j - 0X80000000;
  result = temi & temj;
  result = result - 0X80000000;
  return result;
  }
  }
  if(i < 0 || i >= 0X80000000) {
  if(i < 0)
  temi = i + 0x80000000;
  else
  temi = i - 0X80000000;
  result = temi & j;
  return result;
  }
  if(j < 0 || j >= 0X80000000)	{
  if(j < 0)
  temj = j + 0x80000000;
  else
  temj = j - 0X80000000;
  result = i & temj;
  return result;
  }
  }
  function reverse(num1)
  {
  var f=0;
  if(num1>=0X80000000)
  {
  num1=num1-0X80000000;
  f=(~num1);
  f=f+0X80000000;
  return f;
  }
  if(num1<0)
  {
  num1=num1+0X80000000;
  f=(~num1);
  f=f+0X80000000;
  return f;
  }
  f=(~num1);
  return f;
  }
  function or(i , j)
  {
  var temi;
  var temj;
  var result;
  if(i >= 0 && i < 0X80000000)
  if(j >= 0 && j < 0X80000000)
  return i|j;
  if(i < 0 || i >= 0X80000000) {
  if(j < 0 || j >= 0X80000000){
  if(i < 0)
  temi = i + 0x80000000;
  else
  temi = i - 0X80000000;
  if(j < 0)
  temj = j + 0x80000000;
  else
  temj = j - 0X80000000;
  result = temi | temj;
  result = result - 0X80000000;
  return result;
  }
  }
  if(i < 0 || i >= 0X80000000) {
  if(i < 0)
  temi = i + 0x80000000;
  else
  temi = i - 0X80000000;
  result = temi | j;
  result = result - 0X80000000;
  return result;
  }
  if(j < 0 || j >= 0X80000000)	{
  if(j < 0)
  temj = j + 0x80000000;
  else
  temj = j - 0X80000000;
  result = i | temj;
  result = result - 0X80000000;
  return result;
  }
  }
  function xor(i,j)
  {
  var temi;
  var temj;
  var result;
  if(i >= 0 && i < 0X80000000)
  if(j >= 0 && j < 0X80000000)
  return i^j;
  if(i < 0 || i >= 0X80000000) {
  if(j < 0 || j >= 0X80000000)	{
  if(i < 0)
  temi = i + 0x80000000;
  else
  temi = i - 0X80000000;
  if(j < 0)
  temj = j + 0x80000000;
  else
  temj = j - 0X80000000;
  result = temi ^ temj;
  return result;
  }
  }
  if(i < 0 || i >= 0X80000000) {
  if(i < 0)
  temi = i + 0x80000000;
  else
  temi = i - 0X80000000;
  result = temi ^ j;
  result = result + 0X80000000;
  return result;
  }
  if(j < 0 || j >= 0X80000000){
  if(j < 0)
  temj = j + 0x80000000;
  else
  temj = j - 0X80000000;
  result = i ^ temj;
  result = result + 0X80000000;
  return result;
  }
  }
  function rightmove(num,i)
  {
  var result;
  var temp=0x80000000;
  if(num >= 0 && num < 0X80000000)	{
  result = num >>i;
  return result;
  }
  if(num < 0 || num >= 0X80000000) {
  if(num < 0)
  num = num + 0x80000000;
  else
  num = num - 0X80000000;
  result = num >> i;
  for(;i>0;i=i-1)
  temp=temp/2;
  result=temp+result;
  return result;
  }
  }
  function leftmove(num,i)
  {
  var result;
  if(num >= 0 && num < 0X80000000){
  result = num <<i;
  return result;
  }
  if(num < 0 || num >= 0X80000000) {
  if(num < 0)
  num = num + 0x80000000;
  else
  num = num - 0X80000000
  result = num << i;
  return result;
  }
  }
  function str2blks_MD5(str)
  {
  var nblk = ((str.length + 8) >> 6) + 1;
  var blks = new Array(nblk * 16);
  for(var i = 0; i < nblk * 16; i++) blks[i] = 0;
  for(i = 0; i < str.length; i++)
  blks[i >> 2] |= str.charCodeAt(i) << ((i % 4) * 8);
  blks[i >> 2] |= 0x80 << ((i % 4) * 8);
  blks[nblk * 16 - 2] = str.length * 8;
  return blks;
  }
  function add(x, y)
  {
  var num1=and(x,0x7FFFFFFF);
  var num2=and(y,0x7FFFFFFF);
  var num3=and(x,0x80000000);
  var num4=and(y,0x80000000);
  var num5=num1+num2;
  var num6=xor(num5,num3);
  var num=xor(num6,num4);
  return num;
  }
  function rol(num, cnt)
  {
  var num1=leftmove(num,cnt);
  var num2=rightmove(num,(32-cnt));
  var num3=or(num1,num2);
  return num3;
  }
  function cmn(q, a, b, x, s, t)
  {
  return add(rol(add(add(a, q), add(x, t)), s), b);
  }
  function ff(a, b, c, d, x, s, t)
  {
  var num1=and(b,c);
  var num2=and(reverse(b),d);
  var num3=or(num1,num2);
  return cmn(num3, a, b, x, s, t);
  }
  function gg(a, b, c, d, x, s, t)
  {
  var num1=and(b,d);
  var num2=and(c,reverse(d));
  var num3=or(num1,num2);
  return cmn(num3, a, b, x, s, t);
  }
  function hh(a, b, c, d, x, s, t)
  {
  var num1=xor(b,c);
  var num2=xor(num1,d);
  return cmn(num2, a, b, x, s, t);
  }
  function ii(a, b, c, d, x, s, t)
  {
  var num1=or(b,reverse(d));
  var num2=xor(c,num1);
  return cmn(num2, a, b, x, s, t);
  }
  function calcMD5(str)
  {
  var x = str2blks_MD5(str);
  var a = 0x67452301;
  var b = 0xEFCDAB89;
  var c = 0x98BADCFE;
  var d = 0x10325476;
  for(var i = 0; i < x.length; i += 16)
  {
  var olda = a;
  var oldb = b;
  var oldc = c;
  var oldd = d;
  a = ff(a, b, c, d, x[i+ 0], 7 , 0xD76AA478);
  d = ff(d, a, b, c, x[i+ 1], 12, 0xE8C7B756);
  c = ff(c, d, a, b, x[i+ 2], 17, 0x242070DB);
  b = ff(b, c, d, a, x[i+ 3], 22, 0xC1BDCEEE);
  a = ff(a, b, c, d, x[i+ 4], 7 , 0xF57C0FAF);
  d = ff(d, a, b, c, x[i+ 5], 12, 0x4787C62A);
  c = ff(c, d, a, b, x[i+ 6], 17, 0xA8304613);
  b = ff(b, c, d, a, x[i+ 7], 22, 0xFD469501);
  a = ff(a, b, c, d, x[i+ 8], 7 , 0x698098D8);
  d = ff(d, a, b, c, x[i+ 9], 12, 0x8B44F7AF);
  c = ff(c, d, a, b, x[i+10], 17, 0xFFFF5BB1);
  b = ff(b, c, d, a, x[i+11], 22, 0x895CD7BE);
  a = ff(a, b, c, d, x[i+12], 7 , 0x6B901122);
  d = ff(d, a, b, c, x[i+13], 12, 0xFD987193);
  c = ff(c, d, a, b, x[i+14], 17, 0xA679438E);
  b = ff(b, c, d, a, x[i+15], 22, 0x49B40821);
  a = gg(a, b, c, d, x[i+ 1], 5 , 0xF61E2562);
  d = gg(d, a, b, c, x[i+ 6], 9 , 0xC040B340);
  c = gg(c, d, a, b, x[i+11], 14, 0x265E5A51);
  b = gg(b, c, d, a, x[i+ 0], 20, 0xE9B6C7AA);
  a = gg(a, b, c, d, x[i+ 5], 5 , 0xD62F105D);
  d = gg(d, a, b, c, x[i+10], 9 , 0x02441453);
  c = gg(c, d, a, b, x[i+15], 14, 0xD8A1E681);
  b = gg(b, c, d, a, x[i+ 4], 20, 0xE7D3FBC8);
  a = gg(a, b, c, d, x[i+ 9], 5 , 0x21E1CDE6);
  d = gg(d, a, b, c, x[i+14], 9 , 0xC33707D6);
  c = gg(c, d, a, b, x[i+ 3], 14, 0xF4D50D87);
  b = gg(b, c, d, a, x[i+ 8], 20, 0x455A14ED);
  a = gg(a, b, c, d, x[i+13], 5 , 0xA9E3E905);
  d = gg(d, a, b, c, x[i+ 2], 9 , 0xFCEFA3F8);
  c = gg(c, d, a, b, x[i+ 7], 14, 0x676F02D9);
  b = gg(b, c, d, a, x[i+12], 20, 0x8D2A4C8A);
  a = hh(a, b, c, d, x[i+ 5], 4 , 0xFFFA3942);
  d = hh(d, a, b, c, x[i+ 8], 11, 0x8771F681);
  c = hh(c, d, a, b, x[i+11], 16, 0x6D9D6122);
  b = hh(b, c, d, a, x[i+14], 23, 0xFDE5380C);
  a = hh(a, b, c, d, x[i+ 1], 4 , 0xA4BEEA44);
  d = hh(d, a, b, c, x[i+ 4], 11, 0x4BDECFA9);
  c = hh(c, d, a, b, x[i+ 7], 16, 0xF6BB4B60);
  b = hh(b, c, d, a, x[i+10], 23, 0xBEBFBC70);
  a = hh(a, b, c, d, x[i+13], 4 , 0x289B7EC6);
  d = hh(d, a, b, c, x[i+ 0], 11, 0xEAA127FA);
  c = hh(c, d, a, b, x[i+ 3], 16, 0xD4EF3085);
  b = hh(b, c, d, a, x[i+ 6], 23, 0x04881D05);
  a = hh(a, b, c, d, x[i+ 9], 4 , 0xD9D4D039);
  d = hh(d, a, b, c, x[i+12], 11, 0xE6DB99E5);
  c = hh(c, d, a, b, x[i+15], 16, 0x1FA27CF8);
  b = hh(b, c, d, a, x[i+ 2], 23, 0xC4AC5665);
  a = ii(a, b, c, d, x[i+ 0], 6 , 0xF4292244);
  d = ii(d, a, b, c, x[i+ 7], 10, 0x432AFF97);
  c = ii(c, d, a, b, x[i+14], 15, 0xAB9423A7);
  b = ii(b, c, d, a, x[i+ 5], 21, 0xFC93A039);
  a = ii(a, b, c, d, x[i+12], 6 , 0x655B59C3);
  d = ii(d, a, b, c, x[i+ 3], 10, 0x8F0CCC92);
  c = ii(c, d, a, b, x[i+10], 15, 0xFFEFF47D);
  b = ii(b, c, d, a, x[i+ 1], 21, 0x85845DD1);
  a = ii(a, b, c, d, x[i+ 8], 6 , 0x6FA87E4F);
  d = ii(d, a, b, c, x[i+15], 10, 0xFE2CE6E0);
  c = ii(c, d, a, b, x[i+ 6], 15, 0xA3014314);
  b = ii(b, c, d, a, x[i+13], 21, 0x4E0811A1);
  a = ii(a, b, c, d, x[i+ 4], 6 , 0xF7537E82);
  d = ii(d, a, b, c, x[i+11], 10, 0xBD3AF235);
  c = ii(c, d, a, b, x[i+ 2], 15, 0x2AD7D2BB);
  b = ii(b, c, d, a, x[i+ 9], 21, 0xEB86D391);
  a = add(a, olda);
  b = add(b, oldb);
  c = add(c, oldc);
  d = add(d, oldd);
  }
  return rhex(a) + rhex(b) + rhex(c) + rhex(d);
  }
  function passwordMD5(str)
  {
  var MDstring = calcMD5(str);
  return MDstring;
  }
  function LoginClick(loginUsername, loginPassword, hiddenUsername, hiddenPassword)
  {
  var usernameStr;
  var passwordStr;
  if (null == loginUsername || 0 == loginUsername.value.length)
  {
  alert ("Please input a username");
  key_flag = 0;
  return false;
  }
  if (null == loginPassword || 0 == loginPassword.value.length)
  {
  alert ("Please input a password");
  key_flag = 0;
  return false;
  }
  usernameStr = passwordMD5(loginUsername.value);
  passwordStr = passwordMD5(loginPassword.value);
  hiddenUsername.value = usernameStr;
  hiddenPassword.value = passwordStr;
  loginPassword.value = "Ha2S+eOKqmzA6nrlmTeh7w==";
  return true;
  }
  function checkForm()
  {
  if(key_flag == 0){
  key_flag = 1;
  var loginUsername;
  var loginPassword;
  var hiddenUsername;
  var hiddenPassword;
  loginUsername = document.Login_Form.Login_Name;
  loginPassword = document.Login_Form.Login_Pwd;
  hiddenUsername = document.Login_Form.uiWebLoginhiddenUsername;
  hiddenPassword = document.Login_Form.uiWebLoginhiddenPassword;
  if ( LoginClick(loginUsername, loginPassword, hiddenUsername, hiddenPassword) )
  {
  document.Login_Form.submit();
  return true;
  }
  else
  return false;
  }
  }
  function changeBorderColor(obj, val){
  if(val == 1)
  obj.style.borderColor = "#4ACBD6";else
  obj.style.borderColor = "#E5E5E5";
  }
  function onHandleKeyPress(e)
  {
  var key = 0;
  if ( window.event )
  key = window.event.keyCode;
  else if ( e )
  key = e.which;
  if ( key == 13 )
  {
  if (document.activeElement == null || (document.activeElement.id != 'LoginBtnID'))
  return checkForm();
  }
  }
  document.onkeypress = onHandleKeyPress;
  //-->
  var timelast = 0;
  function IncreaseSec()
  {
  if(timelast <= 2)
  window.setTimeout("window.location.reload(true);", 1000);
  timelast = timelast -1;
  var infoStr2='You have exceeded five attempts, please try again in';
  infoStr2=infoStr2+' '+timelast+"s.";
  document.getElementById("tr1").innerHTML = infoStr2;
  }
  </script>
  </head><body style="font-family:Arial, sans-serief; background-color:#E5E5E5;margin:0px;padding:0px;" onload=doLoad()>
  <FORM METHOD="POST" ACTION="/Forms/login_security_1" name="Login_Form"><p>&nbsp;</p>
  <p>&nbsp;</p>
  <table width=540border="0" align=center cellpadding="0" cellspacing="0">
  <tr>
  <td><table width="100%" border="0" align=center cellpadding="0" cellspacing="0">
  <tr>
  <td height="31">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr>
  <td width="8%">&nbsp;</td><td width="86%" valign=top>
  <table width="86%"  border="0" align=center>
  <tr>
  <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr>
  <td align=center colspan=3 style="color:gray;font-family:Arial;text-align:left;margin:0px auto;font-size:14px;" id="tr1">
  </td><INPUT TYPE="HIDDEN" NAME="tipsFlag" VALUE="0"><INPUT TYPE="HIDDEN" NAME="timevalue" VALUE="0"><SCRIPT language="JavaScript">
  if(document.Login_Form.tipsFlag.value == 1){
  var infoStr='The username or password is incorrect,please input again.';
  document.getElementById("tr1").innerHTML = infoStr;
  }else if(document.Login_Form.tipsFlag.value == 2){
  timelast = document.Login_Form.timevalue.value;
  window.setInterval("IncreaseSec()", 1000);
  }
  </SCRIPT>
  </tr></table><table style="background-color:white" width="86%"  border="0" align=center>
  <tr>
  <td height=35>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr>
  <td align=right width=35%>
  <FONT color=gray><b>
  Username:</b></font>
  </td><td><INPUT TYPE="TEXT" NAME="Login_Name" SIZE="12" MAXLENGTH="31" VALUE="" class="text" onfocus="changeBorderColor(this,1);" onblur="changeBorderColor(this,0);"></td></tr><tr>
  <td height=5>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr>
  <td align=right >
  <FONT color=gray><b>
  Password:</b></font>
  </td><td><INPUT TYPE="PASSWORD" NAME="Login_Pwd" SIZE="12" MAXLENGTH="31" VALUE="" autocomplete="off" class="text" onfocus="changeBorderColor(this,1);" onblur="changeBorderColor(this,0);"></td></tr><tr>
  <td align=center colspan=3>
  <INPUT TYPE="BUTTON" NAME="texttpLoginBtn" VALUE="Login" class="LoginBtn" onClick="checkForm();"></td></tr><tr>
  <td align=center colspan=3>
  <INPUT TYPE="HIDDEN" NAME="uiWebLoginhiddenUsername" VALUE=""><INPUT TYPE="HIDDEN" NAME="uiWebLoginhiddenPassword" VALUE=""></td></tr><tr>
  <td height="30" colspan="3" style="text-align:center;">
  <label id="copyright" >
  Copyright &copy; 2016 TP-LINK Technologies Co., Ltd. All rights reserved.</label>
  </td></tr></table></td><td width="6%">&nbsp;</td></tr></table></td></tr></table><!-- RpZDT -->
  </form><p>&nbsp;</p>
  
  </body></html>
services.body_hash_sha1: sha1:8d4be23416ce13c3e78f52bc1889cdccbf6c6c4d
services.supported_versions: HTTP/1.1
[binary data, 4 values, 128 bytes]