这是一个用于IP和域名碰撞匹配访问的小工具,旨意用来匹配出渗透过程中需要绑定hosts才能访问的弱主机或内部系统。
在平时渗透中经常遇到一些主机,直接访问IP 空白或提示需要绑定hosts,直接访问某些子域名,跳转至主站。
只要渗透过程中 多收集一些目标的IP和域名 保存起来,用这个小脚本挂着跑,有时候会有一些意外的惊喜。(*^▽^*)
Python => 3.x
>python IP_hosts_scan.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#Author:R3start
#这是一个用于IP和域名碰撞匹配访问的小工具
import requests
import re
lists=[]
files = open('hosts_ok.txt','w+')
#读取IP地址
print("====================================开 始 匹 配====================================")
for iplist in open("ip.txt"):
ip = iplist.strip('\n')
#读取host地址
http_s = ['http://','https://']
for h in http_s :
for hostlist in open("host.txt",'r'):
host = hostlist.strip('\n')
headers = {'Host':host,'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}
try:
r = requests.session()
requests.packages.urllib3.disable_warnings()
rhost = r.get(h + ip,verify=False,headers=headers,timeout=5)
rhost.encoding='utf-8'
title = re.search('<title>(.*)</title>', rhost.text).group(1) #获取标题
info = '%s -- %s 协议:%s 数据包大小:%d 标题:%s' % (ip,host,h,len(rhost.text),title)
lists.append(info)
files.write(info + "\n")
print(info)
except Exception :
error = ip + " --- " + host + " --- 访问失败!~"
print(error)
print("====================================匹 配 成 功 的 列 表====================================")
for i in lists:
print(i)
同目录下
ip.txt
hosts.txt
效果图:
Github地址:https://github.com/r35tart/Hosts_scan
转载请注明出处。
都2019了,好久没写东西了。一个月一篇的姨妈文都没时间写… (主要是懒…)
其实有好几次遇到了一些好东西或者有些好想法,想来博客写写分享分享的,结果忙着忙着就不了了之。
做事还是那么的没恒心,不自觉啊…
最近情绪不知道怎么了, 一直在想自己每天这样活着是为了什么。
两年前揣着梦想来的北京,跌倒了以后。想着今后可以永远也不会来北京工作了吧。。。
结果… 真香…
两年了,再次回到北京,这次我很迷茫,我不知道我来干什么的,不知道我一天天的活着为了什么。
感觉什么都在变,从前一起学渗透的小伙伴也都慢慢的远离了。
现在想想以前,大家都在上学的时候可真有趣,一个破站,一个群,开着语音聊一天。
这感慨,明显是寂寞了啊,缺女朋友 哈