Banner信息扫描
2024-10-19 09:51:23
Banner信息扫描
Banner一般用于表示对用户的欢迎,但其中可能包含敏感信息。获取Banner也属于信息搜索的范畴。在渗透测试中,典型的4xx、5xx信息泄露就属于Banner泄露的一种。在Banner中,可能取得开发商、软件名称、服务类型、版本号等(其中版本号有时存在公开的CVE问题,可以直接进行利用)。
套接字
所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口。
常见的TCP协议就是流套接字所采用的协议,以实现无差错、无重复、顺序接收。百度百科有较为详尽的描述。
协议簇
- AF_UNIX:本机通信
- AF_INET:TCP/IP-IPv4
- AF_INET6:TCP/IP-IPv6
编写脚本时,需要在函数中指定协议类型。
编写脚本
from socket import *
import threading
def scan(host, port):
sock = socket(AF_INET, SOCK_STREAM)
try:
sock.settimeout(6)
sock.connect((host, port))
sock.send(b"Hello\r\n")
# sock.send("Hello\r\n".encode())
result = sock.recv(1024)
print(port, result)
except ConnectionRefusedError as err:
print(err)
finally:
sock.close()
if __name__ == '__main__':
threads = list()
host = '106.75.146.228'
ports = [22, 443, 3306, 25, 53, 23, 20, 21, 80, 53, 67, 68, 69, 121, 8080, 3128, 8081, 9098]
for number in ports:
t = threading.Thread(target=scan, args=(host, number))
t.start()
threads.append(t)
for thread in threads:
thread.join()
这个脚本取得了期望的结果,包括版本信息。
最新文章
- ORA-12520: TNS:listener could not find available handler for requested type of server
- Git和Github简单教程
- HTML—marquee
- lua闭合函数
- Android NestedScrolling与分发机制
- VS制作软件安装项目,版本控制和软件升级
- C# 操作数据库就的那点代码
- bzoj3091
- Java位运算总结:位运算用途广泛《转》
- nginx : TCP代理和负载均衡的stream模块
- Directory Opus(DO) 个人使用经验 2.0
- 20160226.CCPP体系详解(0036天)
- centos svn强制要求提交代码时写注释
- 【Codeforces 111C】Petya and Spiders
- Kafka: Connect
- Python 实现WC功能
- Unity3d-Particle System系统的学习(三)
- linux中安装eclipse--CnetOS6.5
- VxWorks 7 技术简介
- 使用keytool工具产生带根CA和二级CA的用户证书