url:
https://en.wikipedia.org:443/wiki/hypertext_Transfer_Protocol?id=123#HTTP/1.1_response_messages
https:协议
en.wikipedia.org:域名
443:端口
wiki/hypertext_Transfer_Protocol:文件路径
id=123:query参数
HTTP/1.1_response_meassages:fragment片段
delete:请求服务器删除request-url所标识的资源
trace 请求服务器回送收到的请求信息,主要用于测试或诊断
optrions:请求查询服务器性能
http请求报文:web客户端向服务器发送的请求
http请求由四部分组成: -请求行-请求头部-空行-请求正文
http1.0定义了三种方法:GET、POST和HEAD方法。HTTP1.1新增了六种请求方法 :OPTIONS、PUT、PATCH、DELETE、TRACE和CONNECT方法
http/1.1协议中,所有请求头,除host外,都是可选的。
whois查询
web接口查询
https://whois.aliyun.com/https://www.whois365.com/cn/http://whois.chinaz.com
python脚本
import requests import time from bs4 import BeautifulSoup #设置好开始时间点 strat=time.time() class G: rb1=None rb2=None rb3=None def chax(): #询问用户要查询的域名 lid=input('请输入你要查询的域名:') #设置浏览器头过反爬 head={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'} #设置好url url="http://site.ip138.com/{}/".format(lid) urldomain="http://site.ip138.com/{}/domain.htm".format(lid) url2="http://site.ip138.com/{}/beian.htm".format(lid) url3="http://site.ip138.com/{}/whois.htm".format(lid) #打开网页 rb=requests.get(url,headers=head) G.rb1=requests.get(urldomain,headers=head) G.rb2=requests.get(url2,headers=head) G.rb3=requests.get(url3,headers=head) #获取内容并用html的方式返回 gf=BeautifulSoup(rb.content,'html.parser') print('[+]IP解析记录') #读取内容里的p标签 for x in gf.find_all('p'): #使用text的内容返回 link=x.get_text() print(link) chax() gf1=BeautifulSoup(G.rb1.content,'html.parser') print('[+]子域名查询') for v in gf1.find_all('p'): link2=v.get_text() print(link2) gf2=BeautifulSoup(G.rb2.content,'html.parser') print('[+]备案查询') for s in gf2.find_all('p'): link3=s.get_text() print(link3) gf3=BeautifulSoup(G.rb3.content,'html.parser') print('[+]whois查询') for k in gf3.find_all('p'): link4=k.get_text() print(link4) end=time.time() print('查询耗时:',end-strat)
备案信息
备案号是网站是否合法注册经营的标志,可以用网页的备案号反查出该公司旗下的资
产。
web接口查询
https://beian.miit.gov.cn/http://www.beian.gov.cn/portal/registerSystemInfohttp://icp.chinaz.com/https://icplishi.co
Whois反查
whois反查,可以通过注册人、注册人邮箱、注册人手机电话反查whois信息
先通过whois获取注册人和邮箱,再通过注册人和邮箱反查域名。
缺点是很多公司都是DNS解析的运营商注册的,查到的是运营商代替个人和公司注册
的网站信息。
https://whois.chinaz.com/reverse?ddlSearchMode=1http://whois.4.cn/reversehttps://whois.aizhan.com/
子域名
子域名简介
子域名指二级域名,二级域名是顶级域名(一级域名)的下一级。
比如 mail.baidu.com 和 bbs.baidu.com 是 baidu.com 的子域,而
baidu.com 则是顶级域名 .com 的子域。
google hacking
site:baidu.com
子域名的一些开源工具
SubFinder + KSubdomain + HttpX
SubFinder:用来查询域名的子域名信息的工具,可以使用很多国外安全网站的
api接口进行自动化搜索子域名信息。
https://github.com/projectdiscovery/subf
HttpX:一款运行速度极快的多功能HTTP安全工具,它可以使用retryablehttp
库来运行多种网络探针,并使用了多线程机制来维持运行的稳定性和结果的准确
性。
https://github.com/projectdiscovery/httpx
ksubdomain是一款基于无状态子域名爆破工具,支持在Windows/Linux/Mac
上使用,它会很快的进行DNS爆破,在Mac和Windows上理论最大发包速度在
30w/s,linux上为160w/s的速度。
https://github.com/knownsec/ksubdomain
#subfinder基本使用 ./subfinder -d baidu.com -o output.txt #ksubdomain基本使用 ./ksubdomain -d baidu.com #管道操作 ./subfinder -d baidu.com -silent|./ksubdomain -verify -silent|./httpx -title -content-length -status-code #可以用管道结合在一起配合工作。达到收集域名,验证域名,http验证存活目的
OneForAll
https://github.com/shmilylty/OneForAll
Subdomainsbrute
高并发的DNS暴力枚举工具
https://github.com/lijiejie/subDomainsBrute
Sublist3r
https://github.com/aboul3la/Sublist3r
ESD
dnsbrute
https://github.com/Q2h1Cg/dnsbrute
Anubis
https://github.com/jonluca/Anubis
subdomain3
https://github.com/yanxiu0614/subdomain3
teemo
https://github.com/bit4woo/teemo
Sudomy
https://github.com/screetsec/Sudomy
ARL
https://github.com/TophantTechnology/ARL
信息收集
IP反查域名
ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名
如果渗透目标为虚拟主机,那么通过IP反查到的域名信息很有价值,因为一台物理服
务器上面可能运行多个虚拟主机。这些虚拟主机有不同的域名,但通常共用一个IP地
址。如果你知道有哪些网站共用这台服务器,就有可能通过此台服务器上其他网站的
漏洞获取服务器控制权,进而迂回获取渗透目标的权限,这种技术也称为“旁注”。
域名查询IP
ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名
ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名
知道一个站点的域名需要得到它的IP以便之后获取端口信息或扫描等后续工作。
C段存活主机探测
查找与目标服务器IP处于同一个C段的服务器IP
https://github.com/se55i0n/Cwebscan
python Cwebscan.py www.baidu.com
CDN判断
1. 多地ping
网站全国各地Ping值测试|在线ping工具—卡卡网 www.webkaka.com
用各种多地 ping 的服务,查看对应 IP 地址是否唯一
2. 国外访问
https://asm.ca.com/en/ping.php
因为有些网站设置CDN可能没有把国外的访问包含进去,所以可以这么绕过
CDN绕过
1. 查询子域名的IP
CDN 流量收费高,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而
很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子
域名对应的 IP 来辅助查找网站的真实IP.
2. MX记录邮件服务
MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自
己的邮件服务器,那么原始服务器IP将在MX记录中。
查询历史DNS记录
https://viewdns.info/iphistory/
ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名
查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录;
域名注册完成后首先需要做域名解析,域名解析就是把域名指向网站所在服务器的
IP,让人们通过注册的域名可以访问到网站。
python Cwebscan.py www.baidu.com
IP地址是网络上标识服务器的数字地址,为了方便记忆,使用域名来代替IP地址。
域名解析就是域名到IP地址的转换过程,域名的解析工作由DNS服务器完成。
DNS服务器会把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域
名绑定。
域名解析时会添加解析记录,这些记录有:A记录、AAAA记录、CNAME记录、MX
记录、NS记录、TXT记录。
DNS记录类型
DNS记录类型介绍(A记录、MX记录、NS记录等)-阿里云开发者社区
A记录
用来指定主机名(或域名)对应的IP地址记录
通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时
候给你引导向设置在DNS的A记录所对应的服务器。
NS记录
域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
MX记录
邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地
址后缀来定位邮件服务器。
CNAME记录
别名记录,允许您将多个名字映射到同一台计算机
TXT记录
一般指某个主机名或域名的说明
泛域名与泛解析
泛域名是指在一个域名根下,以 *.Domain.com 的形式表示这个域名根所有未建立
的子域名。 泛解析是把 *.Domain.com 的A记录解析到某个IP 地址上,通过访问任
意的前缀 .domain.com 都能访问到你解析的站点上。
域名绑定
域名绑定是指将域名指向服务器IP的操作