Banner信息扫描
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()
这个脚本取得了期望的结果,包括版本信息。
Banner信息扫描的更多相关文章
- 2019-9-25:渗透测试,基础学习,Hydra BP爆破,js基本知识,banner信息收集笔记
使用BP和Hydra爆破相关的服务hydra:九头蛇,开源的功能强大的爆破工具,支持的服务有很多,使用hydra爆破c/s结构的服务,使用bp爆破web登陆窗口爆破需要的几个条件,爆破工具+字典字典: ...
- Banner信息收集和美杜莎使用(9.26 第十二天)
Banner信息收集 Banner信息,欢迎语,在banner信息中可以得到软件开发商.软件名称.版本.服务类型等信息,通过这些信息可以使用某些工具直接去使用相对应的exp去攻击 前提条件:需要和目标 ...
- Banner信息收集
一.什么是Banner Banner信息,欢迎语,在banner信息中可以得到软件开发商,软件名称.版本.服务类型等信息,通过这些信息可以使用某些工具直接去使用相对应的exp去攻击. 前提条件:需要和 ...
- MediaScanner与音乐信息扫描==
http://www.eoeandroid.com/forum.php?mod=viewthread&tid=98713 =================================== ...
- linux下更改ssh登录前的banner信息
默认情况下,telnet ip 22端口会显示 openssh的版本信息 whereis sshd 如 cp /usr/sbin/sshd /usr/sbin/sshd2016.bak sed -i ...
- 关于修改banner信息;nginx反向代理apache应用
本周实验 1. Linux下Apache部署一个php页面,返回http数据包中查看server信息,修改Apache 配置使server banner自定义. 2. nginx设置反向代理,代理上面 ...
- python扫描内网banner信息
小菜自己无聊写着玩,主要纪念以前的逗逼学习,可以改IPy import mechanize import cookielib import socket import argparse import ...
- Kali学习笔记12:服务扫描
关于什么是服务扫描不多介绍,通俗来看: 我已经扫描到目标机器某个端口开放,接下来我需要知道开放这个端口的是什么应用 情景: 我的Kali机器IP地址:192.168.22.130 我要扫描的Metas ...
- 小白日记11:kali渗透测试之服务扫描-banner、dmitry、nmap特征库、操作系统识别、SNMP
服务扫描 不能单纯的以端口辨别服务.很多网络服务是漏洞频发的高危对象,对网络上的特定服务进行扫描,往往能让我们少走弯路,增加渗透成功的几率.确定开放端口后,通常会对相应端口上所运行服务的信息进行更深入 ...
随机推荐
- (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (127.0.0.1:3306)\n')
使用python 3.7 pymssql 连接本地mysql 5.6 报错 解决:参考 https://www.cnblogs.com/springbrotherhpu/p/11503139.html ...
- 线程池原理讲解——ThreadPoolExecutor
[这是前几天的存货,留着没发表,今天又复习一遍,润化了部分内容,继续干] 说线程池前,先简单回顾一下线程的状态吧: 1.线程状态转换 线程的五种状态,及其转换关系: 2.线程创建方式 三种:两个接口一 ...
- Leetcode(104)-二叉树的最大深度
给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例:给定二叉树 [3,9,20,null,null,15,7], ...
- C# 特殊符号
特殊符号 @开头 前面提到过,字符串里免转义用的, 字符串里写的啥就是啥,遇到\ 不转义 ?? 判断一个值是不是null,是的话就变成后面的默认值,不是的话就还是原值 $开头 字符串篡改 和forma ...
- 求第n行杨辉三角(n很大,取模
1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 typedef long long l ...
- iframe 父子互传消息,父页面滚动,子页面触发父页面高度
https://blog.csdn.net/qq_38366657/article/details/81538145 // 父页面的js<iframe id='TopHeader' src=&q ...
- BGV再度爆发,流通市值破500万美金!
BGV似乎以超乎寻常的姿态,开启了爆发的模式.这两天,BGV一路上涨,日内最高涨至548.78美金,24小时成交额达到了98.07万美金,24小时成交量达到1844.93枚BGV,流通市值更是突破了5 ...
- app启动速度怎么提升?
简介: APP 启动速度的重要性不言而喻.高德地图是一个有着上亿用户的超级 APP,本文从唤端技术.H5 启动页.下载速度.APP加载.线程调度和任务编排等方面,详解相关技术原理和实现方案,分享高德在 ...
- 深入理解Java内存模型JMM
本文转载自深入理解Java内存模型JMM JMM基础与happens-before 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执 ...
- IO多路复用之select、poll、epoll
本文转载自IO多路复用之select.poll.epoll 导语 IO多路复用:通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作. ...