首页 > 其他分享 >《Web安全基础》02. 信息收集

《Web安全基础》02. 信息收集

时间:2023-07-11 19:33:44浏览次数:47  
标签:02 Web www 收集 CDN 站点 域名 https com

目录


本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。

1:CDN 绕过

CDN(Content Delivery Network,内容分发网络)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡内容分发等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

在安全测试过程中,若目标存在 CDN 服务,将会影响到后续的安全测试过程。

CDN 绕过就是要绕过 CDN 服务,找到其主服务器真实 ip。

1.1:判断是否有 CDN 服务

  • 通过 ping ip 或域名,看相应时间是否会出现大的变化。
  • 通过 nslookup 域名,看是否会有很多节点。
  • 网站工具:https://tool.chinaz.com/speedtest

1.2:常见绕过方法

  • 通过子域名探测:有的网站主域名会做 CDN,但是子域名可能不会做。
  • 邮件服务查询:我们访问别人,可能通过 CND,但别人访问我们通常不会走 CDN。
  • 国外地址请求:若国外没有 CND 节点,可能直接走原 ip。
  • 寻找遗留文件:扫描全网。
  • 黑暗引擎搜索特定文件:shodan 搜索指定 hash 文件。
  • DNS 历史记录:第三方接口(接口查询)
  • “以量打量”:CDN 节点有流量上限,用光后就会直通原机。这也是一种流量攻击。
  • 根据网站的域名备案推测(认为判定)
  • 更改本地 HOSTS 解析指向文件:本地清理下 DNS,然后 hosts 里写上得到的 ip 和域名,如果是 cdn 可能会出现刷新异常,如果打开很快大概率是原机。

1.3:相关资源

国内测速:
https://tool.chinaz.com/speedtest

傻蛋(shodan):
https://www.shodan.io

X 情报社区:
https://x.threatbook.com

Ping 检测:
https://ping.chinaz.com

check ip and location:
https://get-site-ip.com

fuckcdn:
https://github.com/Tai7sy/fuckcdn

w8fuckcdn:
https://github.com/boy-hack/w8fuckcdn

实战秒杀 BC 下的 CDN 节点:
https://mp.weixin.qq.com/s?__biz=MzA5MzQ3MDE1NQ==&mid=2653939118&idx=1&sn=945b81344d9c89431a8c413ff633fc3a&chksm=8b86290abcf1a01cdc00711339884602b5bb474111d3aff2d465182702715087e22c852c158f&token=268417143&lang=zh_CN#rd

2:网站架构

网站架构搭建的习惯有以下几种:

  • 目录型站点

示例:
www.test.com/dir 与 www.test.com/tql 是两个不同页面或网站

  • 端口类站点

示例:
www.test.com:80 与 www.test.com:8080 是两个不同网站

  • 子域名站点

示例:
www.test.com 与 blog.test.com 是两个不同网站

  • 类似域名站点

示例:
www.test.com 与 www.example.com 是同一个网站

  • 旁注站点:同一个服务器上搭建了多个不同的站点。

示例:
在 192.168.10.1 服务器上,搭建了 www.a.com 与 www.b.com 等多个不同站点。

  • C 段站点:在同一网段的多个服务器分别搭建了多个不同站点。

示例:
在 192.168.10.1 服务器上,搭建了 www.a.com 与 www.b.com 等多个不同站点。
在 192.168.10.2 服务器上,搭建了 www.c.com 与 www.d.com 等多个不同站点。

相关资源
同 ip 网站查询:https://www.webscan.cc/

3:WAF

WAF,Web Application Firewall,Web 应用防护系统,也称为:网站应用级入侵防御系统

可以使用 WAFw00f 工具识别 WAF。
工具链接:https://github.com/EnableSecurity/wafw00f

Kali 已经集成了 WAFw00f 工具。

WAF 识别对之后的绕过很有帮助。

4:APP 及其他资产

在安全测试中,若 WEB 无法取得进展或无 WEB 的情况下,需要借助 APP 或其他资产在进行信息收集,从而开展后续渗透。

5:资产监控

  • Github 监控
    便于收集整理最新 exp 或 poc
    便于发现相关测试目标的资产
  • 各种子域名查询
  • 枚举爆破或解析子域名
  • 相关 DNS、备案、证书等
    发现管理员相关的注册信息
  • 全球节点请求,CDN 分析
  • 黑暗引擎相关搜索
  • 微信公众号接口获取
  • 内部群信息获取(社工)

相关资源:
https://sct.ftqq.com/login
https://crt.sh
https://dnsdb.io
https://tools.ipip.net/cdn.php
https://github.com/bit4woo/teemo
https://securitytrails.com/domain/www.baidu.com/history/a

示例:GitHub 监控代码

# Title: wechat push CVE-2020
# Date: 2020-5-9
# Exploit Author: weixiao9188
# Version: 4.0
# Tested on: Linux,windows
# cd /root/sh/git/ && nohup python3 /root/sh/git/git.py &
# coding:UTF-8
import requests
import json
import time
import os
import pandas as pd

time_sleep = 60  # 每隔 20 秒爬取一次

while(True):
    headers1 = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400"}
    # 判断文件是否存在
    datas = []
    response1 = None
    response2 = None
    
    if os.path.exists("olddata.csv"):
        # 如果文件存在则每次爬取 10 个
        df = pd.read_csv("olddata.csv", header=None)
        datas = df.where(df.notnull(), None).values.tolist()  # 将提取出来的数据中的 nan 转化为 None
        requests.packages.urllib3.disable_warnings()
        response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE2020&sort=updated&per_page=10", headers=headers1, verify=False)
        response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&per_page=10", headers=headers1, verify=False)
    else:
        # 不存在爬取全部
        datas = []
        requests.packages.urllib3.disable_warnings()
        response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE2020&sort=updated&order=desc", headers=headers1, verify=False)
        response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&order=desc", headers=headers1, verify=False)
        
    data1 = json.loads(response1.text)
    data2 = json.loads(response2.text) 
    for j in [data1["items"], data2["items"]]:
        for i in j:
            s = {"name": i['name'], "html": i['html_url'], "description": i['description']}
            s1 = [i['name'], i['html_url'], i['description']]
            if s1 not in datas:
                print(s1)

情欲意识,尽属妄心消杀得,妄心尽而后真心现。

——《菜根谭》(明)洪应明

标签:02,Web,www,收集,CDN,站点,域名,https,com
From: https://www.cnblogs.com/GCom/p/17545722.html

相关文章

  • 【软考备战·希赛网每日一练】2023年4月24日
    题目及解析来源:2023年04月24日软件设计师每日一练一、今日成绩二、错题总结第一题解析:第二题解析:DPI表示每英寸像素点的个数。300DPI表示每英寸有300个像素点,3×4英寸的图像,像素点数为3×300×4×300=900×1200。第三题解析:机房安全属于物理安全,入侵检测属于网络安全,漏洞补丁......
  • 在WinServer 2022 Core 上安装SCVMM2022和SqlServer2022
    在WindowsServer2022Core上安装SystemCenterVirtualMachineManager(VMM)2022管理服务器和SqlServer2022CU5系统环境如下:OS:windowsserver2022CoreDataCenterDB:SqlServer2022withCU5ADK: Windows11版本22H2的ADK: https://learn.microsoft.com/zh-cn/wi......
  • 2023-07-11:给定正整数 n, 返回在 [1, n] 范围内具有 至少 1 位 重复数字的正整数的个数
    2023-07-11:给定正整数n,返回在[1,n]范围内具有至少1位重复数字的正整数的个数。输入:n=100。输出:10。答案2023-07-11:函数的主要思路如下:1.若n小于等于10,则直接返回0,因为在[1,10]范围内不存在重复数字的情况。2.计算n的位数和偏移量。首先计算n的位数和一个偏移量o......
  • Visual Studio C# 多环境配置 Web.config
    目录添加解决方案配置添加配置转换添加应对的配置预览转换发布只对生成项目生效代码区分 开始以为像SpringBoot那样,运行时也行效的,结果发现只对发布生效,VS里运行时不生效,凑活着用。.NetCoreappsettings.json改进了VisualStudio为多环境配置Web.config不同......
  • 2023.7.11 训练
    1.dp相关1.1path给定一个\(n∗m\)的网格,你在左下角\((n,1)\),一开始你面向上方,你只能往前走或者右拐,障碍和走过的点不能走。求走到\((x,y)\)的方案数的值,取模。\(n,m\le40\)观察到一右拐,就会进入一个子矩形,并只能在这里面移动了。设状态\(f(a,b,x,y,0..3)\)表示从......
  • 「NOIP 2023 模拟赛 20230711 B」过往未来
    summarization给定一个\(n\)个节点的树,定义\(x_1,x_2,\cdots,x_k\)生成的子树为树中边数最少的包含\(x_1,x_2,\cdots,x_k\)的连通块。对所有可能的\(x_1,x_2,\cdots,x_k\quad(1\lex_1<x_2<\cdots<x_k\len)\),求\(x_1,x_2,\cdots,x_k\)生成的子树的大小(边数和)总和。so......
  • C++自助点餐系统[2023-07-06]
    C++自助点餐系统[2023-07-06]面向对象程序课程设计任务书【题目】自助点餐系统【目的】通过设计一个小型的自助点餐系统,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,使自己的程序设计与调试水平有一个明显的提高。【要求】1、每个学生必须独立完成;2......
  • C++停车场管理系统[2023-07-06]
    C++停车场管理系统[2023-07-06]停车场管理系统简介一、 问题描述设停车场是一个可停放若干辆辆汽车的狭多层平面区域,且只有一个大门可供汽车进出。若车场内已停满汽车,则后来的汽车只能在门外的狭长便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可进入。每辆停放在车......
  • 《C++程序设计》[2023-07-06]
    《C++程序设计》[2023-07-06]智能与工程学院《C++程序设计》小组学习任务书第2次专业年级:2022级计算机指导教师:李佳佳2022-2023学年第2学期一、任务根据课程所学,利用C++泛型编程思想、STL、模板、I\O流和异常处理等,以小组为单位完成基于STL泛化......
  • C/C++学生成绩管理系统[2023-07-06]
    C/C++学生成绩管理系统[2023-07-06]学生成绩管理系统开发一个可以管理学生成绩以及学生基本信息的一个信息系统,至少实现如下功能:信息管理,支持信息的增、删、改、查操作,具体信息类型如下:(1) 管理学生信息 ,包括学号,姓名,年龄,班级等等信息。(2) 班级信息,包括班级编号、班级人数,......