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/registerSystemInfo http://icp.chinaz.com/ https://icplishi.co
Whois反查
whois反查,可以通过注册人、注册人邮箱、注册人手机电话反查whois信息
先通过whois获取注册人和邮箱,再通过注册人和邮箱反查域名。
缺点是很多公司都是DNS解析的运营商注册的,查到的是运营商代替个人和公司注册
的网站信息。
https://whois.chinaz.com/reverse?ddlSearchMode=1 http://whois.4.cn/reverse https://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
https://github.com/FeeiCN/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库服务商_IPIP
子域名查询|ip反查域名 - DNSGrep
ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名
如果渗透目标为虚拟主机,那么通过IP反查到的域名信息很有价值,因为一台物理服
务器上面可能运行多个虚拟主机。这些虚拟主机有不同的域名,但通常共用一个IP地
址。如果你知道有哪些网站共用这台服务器,就有可能通过此台服务器上其他网站的
漏洞获取服务器控制权,进而迂回获取渗透目标的权限,这种技术也称为“旁注”。
域名查询IP
IP/IPv6查询,服务器地址查询 - 站长工具
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值测试|在线ping工具—卡卡网 www.webkaka.com
用各种多地 ping 的服务,查看对应 IP 地址是否唯一
2. 国外访问
https://asm.ca.com/en/ping.php
因为有些网站设置CDN可能没有把国外的访问包含进去,所以可以这么绕过
CDN绕过
1. 查询子域名的IP
IP批量查询 - 站长工具
CDN 流量收费高,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而
很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子
域名对应的 IP 来辅助查找网站的真实IP.
2. MX记录邮件服务
MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自
己的邮件服务器,那么原始服务器IP将在MX记录中。
查询历史DNS记录
https://dnsdb.io/zh-cn/
https://securitytrails.com/
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的操作