网络扫描是判断IP地址是否是SQL服务器的唯一途径吗?我怎样才能百分之百地验证这一点?
发布于 2018-07-31 20:37:26
IP地址只是机器的位置标识符-它不区分机器上运行的服务类型,IP也不直接指示机器的类型。这就像给某人一个街道地址--它可能是一家企业、一栋房子,甚至是一个邮政信箱,但你通常无法知道,除非你亲眼看到或了解更多(P.O. Box通常是相当明显的)。
您可以将一台专用机器作为数据库运行mySQL或其他类型的SQL服务,并将其作为唯一的工作,但这并不意味着IP是并将永远是server。
帮助确定机器的角色的一种方法是运行一个完整的端口扫描来确定机器上的开放端口。类似于nmap -sU -sT -p- <target_ip>的东西会产生一个完整的端口扫描。一旦您发现了打开的端口(假设您发现了3306OPEN,这是MySQL服务的已知缺省值),那么您就可以执行进一步的枚举,并确定这些端口后面运行的服务。
但是,正如在这个职位中提到的,重要的是,仅仅因为与特定服务关联的端口响应扫描(打开、关闭、过滤等),并不意味着关联的服务是实际运行的服务。这里需要进一步的枚举,甚至交互,以确定您正在处理的服务。
发布于 2018-08-01 02:53:25
您可以始终尝试使用sql客户端连接到它。我们使用Server客户端工具或尝试下面的python客户端。
使用python做一个pip install mssqli-cli
mssql-cli -S <server IP> -U <user name> -d <database name>https://security.stackexchange.com/questions/190726
复制相似问题