目录

  • 2.1、工具简介
  • 2.2、后端实现代码
  • 2.3、前端实现代码

2.1、工具简介

子域名是相对域名根来说的,如baidu.com是域名根,则1234.baidu.com为子域名不同服务级别,也就是大家常说的一级域名、二级域名、三级域名等。一个域名可有很多个子域名,但是域名解析选择不同的服务级别,可添加的子域名数量也不同。据一些平台的规则了解,免费级服务:可添加10个子域名;商业级服务 :可添加20个子域名。

子域名查询方法:

  1. 子域名查询工具

    缺点:由于工具是人写的,难免有时候会不准确。

  2. site:*根域名

    缺点:由于site查询是模糊查询,所以不一定能够查处全部的二级域名;而且有些二级域名是无法收录的。

  3. 人为扫描工具

    优点:对于一些规律性域名的网站有绝对的优势。

    缺点:速度非常慢,误报率很高,用户体验很差。

关于查找和扫描子域名的作用,对于每一个搞渗透的人员来说是至关重要的。就一点:当主站无从下手的时候,你可以从C段,同IP站点下手,但往往子域名站点存在的潜在漏洞概率是非常高的。同时,这也对摸清目标的组织结构至关重要。

2.2、后端实现代码

package com.sducsrp.csrp.controller.ToolsController.SubDomain;import com.alibaba.fastjson.JSONObject;
import com.sducsrp.csrp.common.Constants;
import com.sducsrp.csrp.common.Result;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;@RestController
public class DomainFindController {@RequestMapping("/DomainFind")public @ResponseBodyResult domainfind(@RequestParam("urlP") String urlP){String url = "https://domainhouse.buzz/query.php?token=9378409013576a0cb7c6fac863d5dfe03f0d288a&domain="+urlP;System.out.println(url);String return_json = sendRequest(url,"GET");//将json转换为objectJSONObject jo = JSONObject.parseObject(return_json);//查询到的子域名数量String count = jo.get("count").toString();//查询到的子域名数据String data = jo.get("data").toString();System.out.println(count+","+data);Result res=new Result(Constants.CODE_200,null,count+","+data);return res;}public String sendRequest(String urlParam,String requestType) {HttpURLConnection con = null;BufferedReader buffer = null;StringBuffer resultBuffer = null;try {StringBuilder json = new StringBuilder();URL url = new URL(urlParam);//得到连接对象con = (HttpURLConnection) url.openConnection();//设置请求类型con.setRequestMethod(requestType);//设置请求需要返回的数据类型和字符集类型//con.setRequestProperty("Content-Type", "text/plain; charset=utf-8");con.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36 Edg/101.0.1210.32");//允许写出con.setDoOutput(true);//允许读入con.setDoInput(true);//不使用缓存con.setUseCaches(false);//得到响应码int responseCode = con.getResponseCode();System.out.println(responseCode);if(responseCode == HttpURLConnection.HTTP_OK){//得到响应流InputStream inputStream = con.getInputStream();//将响应流转换成字符串resultBuffer = new StringBuffer();String line;buffer = new BufferedReader(new InputStreamReader(inputStream, "utf-8"));while ((line = buffer.readLine()) != null) {//resultBuffer.append(line);json.append(line);}return json.toString();}}catch(Exception e) {e.printStackTrace();}return "{\"count\":0,\"data\":\"fail\n";}
}

2.3、前端实现代码

<template><div style="margin-top: 100px"><el-input v-model="urlP" style="width: 250px;margin-right: 50px" placeholder="域名"></el-input><el-button @click="subdomain" type="primary">Query</el-button></div><el-card style="width: 40%;height: 500px;margin-left: 30%;margin-top: 5%"><p>返回结果:</p><p>{{ myresult }}</p></el-card>
</template><script>
import request from "@/utils/request";export default {data(){return{urlP:'',myresult:''}},methods:{subdomain(){request.get("/DomainFind",{params:{urlP:this.urlP}}).then(res =>{this.myresult=res.data})}}
}
</script>

山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二十二)-子域名查询相关推荐

  1. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二)-docker安装与学习

    目录 前言: 一.docker安装 1.centos7使用yum安装 二.命令行创建 docker 容器测试 前言: 项目实训立项通过后的几天均在学习 docker 的相关知识,上一篇文章也简单记述了 ...

  2. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(六)-SQL注入数字型

    目录 前言: 一.SQL 注入漏洞简介 1.简介 2.危害 3.利用 4.防范 二.相关配置 三.编写"SQL 注入漏洞-数字型注入"后端代码 1.使用 springboot 框架 ...

  3. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(八)-RCE漏洞

    目录 前言: 1.RCE 漏洞简介 1.1.简介 1.2.危害 1.3.利用 1.3.1.漏洞挖掘 1.3.2.windows下管道符 1.3.3.linux下管道符 1.4.防范 2.相关配置 3. ...

  4. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(七)-SQL注入字符型

    目录 前言: 一.简介 二.项目配置 三.代码编写 四.运行测试 前言: 前面完成了 SQL 注入漏洞的数字型输入,其实 SQL 注入漏洞还有很多其他类型的注入,例如:字符型注入.宽字节注入等,相应的 ...

  5. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十)-Java反序列化漏洞(2)

    目录 前言: 2.项目配置 3.编写"java 反序列化漏洞"后端代码 4.编写"java 反序列化漏洞"前端代码 5.运行测试 前言: 本篇文章在上一篇文章基 ...

  6. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十三)-任意文件下载漏洞(1)

    目录 前言: 一.任意文件下载 1.任意文件下载漏洞简介 1.1.简介 1.2.危害 1.3.利用 1.4.防范 2.项目配置 前言: 前面的博客记录了关于文件上传漏洞的基础知识,以及基本的漏洞出现点 ...

  7. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十四)-任意文件下载漏洞(2)

    目录 前言: 3.编写"任意文件下载漏洞"后台 4.编写"任意文件下载漏洞"前台 5.运行测试 前言: 前面的博客记录学习任意文件下载漏洞相关知识,并思考如何构 ...

  8. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(三)

    目录 前言 主页面的实现 新增用户 修改用户信息 删除用户 查询用户 前言 首先我要完成的是系统中的用户管理功能,实现对用户的增删改查,以及利用Element-Ui完成对应前端页面的搭建,这篇文章记录 ...

  9. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二十三)-CMS识别

    目录 3.1.工具简介 3.2.后端实现代码 3.3.前端实现代码 3.1.工具简介 在对「靶标资产」进行渗透测试的前期,通常需要对「靶标资产」进行相关的信息收集,而对「靶标资产」进行Web指纹信息扫 ...

最新文章

  1. navicat连接云数据库报错2003,2005
  2. 用Hadoop1.0.3实现KMeans算法
  3. mysql游标遍历修改_mysql使用游标遍历数据进行批量针对性更新数据,急求mysql大神解答...
  4. 在shell中如何判断一个变量是否为空
  5. 堆排序,为什么升序排列要建大堆,降序排列要建小堆
  6. 神操作!员工索要工资遭遇“假转账”:转了生气又撤销
  7. Kibana插件sentinl实现邮件报警
  8. springboot 注解_springBoot注解大全
  9. 宿主机172连接容器mysql_开发时从宿主机连接容器中的MySQL
  10. Java开发手册黄山版新增规约摘录
  11. android java 调试快捷键_最强Android studio 使用快捷键和调试技巧
  12. 航班预订系统测试用例
  13. php代码加密工具xend,PHP代码加密工具 Xend v3.0.1
  14. Origin 2022安装教程(附下载链接)
  15. java8新特性 函数式编程 Lamda
  16. 手机写java_手机怎么写java
  17. 平板电脑的尺寸是怎么算出来的
  18. 程序员赚钱的六种方式,是时候告别996了
  19. 文件服务器的缩写,“SS”是“Shared Server”的缩写,意思是“共享服务器”
  20. 基于DTW相似度的Affinity Propagation(AP)聚类

热门文章

  1. 中国电子信息制造产业运营模式及未来投资方向建议报告2022版
  2. Coins Change
  3. 困在赛博世界里的“仿生机器人”
  4. 因素分析(Factor Analysis)
  5. 五角场 IT 养老院的性价比!
  6. 2018.06.16软件更新公告
  7. [算法深究]奇葩排序
  8. webpack创建服务
  9. 第一篇:盘赔学习之基础篇
  10. 推荐系统入门(二):协同过滤(附代码)