《Web安全基础》02. 信息收集
@
本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。
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
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 或其他资产在进行信息收集,从而开展后续渗透。
apk 反编译提取信息
使用反编译工具,尝试获取包里的源码、url 信息等。配合抓包工具获取更多信息
使用 burp suite 设置代理,查看 history 记录。或 wireshark 抓包分析。第三方相关探针技术
钟馗之眼:https://www.zoomeye.org/
fofa:https://fofa.info/
傻蛋:https://www.shodan.io/
站长工具:https://tool.chinaz.com/
Nmap服务接口相关探针
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)
情欲意识,尽属妄心消杀得,妄心尽而后真心现。
——《菜根谭》(明)洪应明
《Web安全基础》02. 信息收集的更多相关文章
- ref:web security最新学习资料收集
ref:https://chybeta.github.io/2017/08/19/Web-Security-Learning/ ref:https://github.com/CHYbeta/Web-S ...
- Web信息收集-目标扫描-Nmap
Web信息收集-目标扫描-Nmap 一.Nmap简介 二.扫描示例 使用主机名扫描: 使用IP地址扫描: 扫描多台主机: 扫描整个子网 使用IP地址的最后一个字节扫描多台服务器 从一个文件中扫描主机列 ...
- CTF Show web入门 1——20(信息收集)wp和一些感想
web1 信息搜集 此题为 [从0开始学web]系列第一题 此系列题目从最基础开始,题目遵循循序渐进的原则 希望对学习CTF WEB的同学有所帮助. 开发注释未及时删除 此题有以上备注,可以想到备注未 ...
- Web应用程序信息收集工具wig
Web应用程序信息收集工具wig 很多网站都使用成熟的Web应用程序构建,如CMS.分析网站所使用的Web应用程序,可以快速发现网站可能存在的漏洞.Kali Linux新增加了一款Web应用程序信 ...
- 2019-9-25:渗透测试,基础学习,Hydra BP爆破,js基本知识,banner信息收集笔记
使用BP和Hydra爆破相关的服务hydra:九头蛇,开源的功能强大的爆破工具,支持的服务有很多,使用hydra爆破c/s结构的服务,使用bp爆破web登陆窗口爆破需要的几个条件,爆破工具+字典字典: ...
- Web信息收集-目标扫描-OpenVAS
Web信息收集-目标扫描-OpenVAS 一.OpenVAS简述 二.部署OpenVAS 2.1 升级Kali Linux 2.2 安装OpenVAS 2.3 修改admin账户密码 2.4 修改默认 ...
- Web信息收集之搜索引擎-Zoomeye Hacking
Web信息收集之搜索引擎-Zoomeye Hacking https://www.zoomeye.org ZoomEye(钟馗之眼)是一个面向网络空间的搜索引擎,"国产的Shodan&quo ...
- Web信息收集之搜索引擎-Shodan Hacking
Web信息收集之搜索引擎-Shodan Hacking 一.Shodan Hacking简介 1.1 ip 1.2 Service/protocol 1.3 Keyword 1.4 Cuuntry 1 ...
- Web信息收集之搜索引擎-GoogleHacking
Web信息收集之搜索引擎-GoogleHacking 一.信息收集概述 二.Google Hacking 2.1 site 2.2 filetype 2.3 inurl 2.4 intitle 2.5 ...
- Web安全-信息收集
信息收集 前言:在渗透测试过程中,信息收集是非常重要的一个环节,此环节的信息将影响到后续成功几率,掌握信息的多少将决定发现漏洞的机会的大小,换言之决定着是否能完成目标的测试任务.也就是说:渗透测试的思 ...
随机推荐
- 【设计模式】使用 go 语言实现简单工厂模式
最近在看<大话设计模式>,这本书通过对话形式讲解设计模式的使用场景,有兴趣的可以去看一下. 第一篇讲的是简单工厂模式,要求输入两个数和运算符号,得到运行结果. 这个需求不难,难就难在类要怎 ...
- fofa搜索技巧
转载自:https://www.cnblogs.com/sunny11/p/14388508.html ` 目录 题记 技巧(我一般找国内的,所以下边一直加cn) 1.搜索HTTP响应头中含有&quo ...
- 美女同事的烦恼:如何配置 Apache SkyWalking 告警?
小婉 技术部基本上是一个和尚庙,女生非常少,即使有女生也略微有点抽象,小婉就不一样,她气质绝佳. 上午,同事小婉刚才从老板办公室里出来,看上去一脸不悦的样子.为了表示对同事的关(ba)心(gua),我 ...
- Redis系列13:分布式锁实现
Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...
- 驱动开发:内核PE结构VA与FOA转换
本章将继续探索内核中解析PE文件的相关内容,PE文件中FOA与VA,RVA之间的转换也是很重要的,所谓的FOA是文件中的地址,VA则是内存装入后的虚拟地址,RVA是内存基址与当前地址的相对偏移,本章还 ...
- Godot的几个附加脚本和进行继承时比较特别的特性
注: 这是在Godot4.0中总结出的内容,并且语言是C#. 特别的,下面有的特性和C#关系比较大. 基本特性 在Godot中,为某个节点编写特别的代码时,需要为节点新建脚本,或引用已有脚本. 引用脚 ...
- Nucleic Acids Research上关于生物医学分析Galaxy平台在几个独立面上的最新发展。
该平台的官方主服务器拥有超过124000注册用户,每月新注册用户~2000。平均而言,......
本文分享自微信公众号 - 生信科技爱好者(bioitee).如有侵权,请联系 support@oschina.cn 删除.本文参与"OSC源创计划",欢迎正在阅读的你也加入,一起分 ...
- 生信入门必须掌握的 30 个 Linux 命令
学习生物信息,Linux 是必须掌握的内容,其实常用的 Linux 命令也就 30 个左右,而且这些命令都是单词的简写,记忆起来并不困难.这里列出了常用的 30 个命令. 1. cd Change d ...
- CAPL 脚本基本语句
CAPL(Communication Access Programming Language)是一种用于汽车通信网络分析和仿真的脚本语言.以下是CAPL脚本的基本语句: 1.变量声明 variable ...
- 2023-06-13:统计高并发网站每个网页每天的 UV 数据,结合Redis你会如何实现?
2023-06-13:统计高并发网站每个网页每天的 UV 数据,结合Redis你会如何实现? 答案2023-06-13: 选用方案:HyperLogLog 如果统计 PV (页面浏览量)那非常好办,可 ...