host绑定进行爆破后台地址

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。

一、原理

使用目标资产IP访问目标时,响应状态码基本为:401、403、404、500,但是用域名请求却能返回正常的业务系统。因为大多数都是需要绑定host才能正常请求访问的。如果域名删除了A解析记录,且反向代理服务器的配置未更新,那么就可以尝试通过反向代理服务器对应内网的web服务进行访问。
通过收集到目标的域名和目标资产的IP段,通过host头的域名+IP的url的形式进行访问,从而可通过反代实现内网web访问。
在这里插入图片描述

二、工具

https://github.com/fofapro/Hosts_scan

三、关于IP段和域名的收集#

多个ip在一个C端,超过一定阈值时,就猜测整个C端很可能都是厂商的。
域名则可通过oneforall进行收集,host.txt存放搜集的子域名,IP.txt存放搜集的ip地址,碰撞成功的会保存在hosts_ok.txt文件中

#!/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://']
    http_s = ['http://']
    for h in http_s :
        for d in open("top3kdomain.txt",'r'):#moonsec
            d = d.strip('\n')
            for hostlist in open("host.txt",'r'):
                host = d+"."+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)

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值