1、IP地址
1.1 IP地址是什么?
IP 地址(Internet Protocol Address)是互联网协议特有的一种地址,它是 IP 协议提供的一种统一的地址格式。IP 地址为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异
1.2 为什么要用IP地址呢?
在单个局域网网段中,计算机与计算机之间可以使用网络访问层提供的 MAC 地址进行通信。如果在路由式网络中,计算机之间进行通信就不能利用 MAC 地址实现数据传输了:因为 MAC 地址不能跨路由接口运行;即使强行实现跨越,使用 MAC 地址传输数据也是非常麻烦的。
这是由于内置在网卡里的固定 MAC 地址不能在地址空间上引入逻辑结构,使其无法具备真正的地址来表示国家、省、市、区、街道、路、号这类层次。因此,要进行数据传输,必须使用一种逻辑化、层次化的寻址方案对网络进行组织,这就是 IP 地址。网络中的每个计算机都有对应的 IP 地址。
1.3 IP地址的构成、分类、格式
1.3.1 构成
为了便于寻址,了解目标主机的位置,每个 IP 地址包括两个标识码(ID),即网络 ID 和主机 ID。同一个物理网络上的所有主机都使用同一个网络 ID,网络上的一个主机(包括网络上的工作站、服务器和路由器等)有一个主机 ID 与其对应。
网络 ID 和主机 ID 含义如下:
- 网络 ID:用于识别主机所在的网络,网络 ID 的位数直接决定了可以分配的网络数量。
- 主机 ID:用于识别该网络中的主机,主机 ID 的位数则决定了网络中最大的主机数量。
1.3.2 IP地址的分类和格式
IP 地址为 32 位地址,被分为 4 个 8 位段。为了方便对 IP 地址的管理,将 IP 地址基本分为三大类,每类地址的分类与含义如下:
- A 类:IP 地址范围为 0.0.0.0~127.255.255.255。前 8 位表示网络 ID,后 24 位表示主机 ID;该地址分配给政府机关单位使用。
- B 类:IP 地址范围为 128.0.0.0~191.255.255.255。前 16 位表示网络 ID,后 16 位表示主机 ID;该地址分配给中等规模的企业使用。
- C 类:IP 地址范围为 192.0.0.0~223.255.255.255。前 24 位表示网络 ID,后 8 位表示主机 ID;该地址分配给任何需要的人使用。
除了上述的 A、B、C 三类地址以外,还有两类隐藏地址,即 D 类地址和E类地址:
- D 类:IP 地址范围为 224.0.0.0~239.255.255.255。不分网络 ID 和主机 ID;该地址用于多播。
- E 类:IP 地址范围为 240.0.0.0~255.255.255.254。不分网络 ID 和主机 ID;该地址用于实验
2、域名
2.1 什么是域名
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
2.2 域名访问实例
1、访问 www.bilibili.com
2、通过 B 站的 DNS 服务器将域名解析为 119.3.70.188,这才是浏览器真正访问的 IP 地
3、然后会将浏览器的请求发送到该 IP 对应的服务器上,完成请求的处理
二级域名和多级域名:
2.3 域名分类
国际顶级域名下二级域名, 二级域名一般是指域名注册人选择使用的网上名称,如“yahoo.com”;上网的商业组织通常使用自己的商标、商号或其他商业标志作为自己的网上名称,如“microsoft.com”
国家顶级域名下二级域名,在国家顶级域名之下二级域名一般是指类似于国际顶级域名的表示注册人类别和功能的标志。例如,在“.com.cn”域名结构中,“.com”此时是置于国家顶级域名“.cn”下的二级域名,表示商业性组织
2.4 域名对安全测试的意义:
- 相同的二级域名的网站架构、源码、密码可能相似
- 两个网站的域名解析的ip地址可能相同
3、端口
3.1 端口是什么?
"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。
3.2 端口分类
公认端口
公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议,例如:80端口实际上总是HTTP通讯。
注册端口
注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
动态/私有端口
动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
3.3查看本机开发的端口
在cmd中输入:netstat -ano
3.4 常见端口及对应服务
端口 |
服务 |
说明 |
8080 |
HTTP |
为HTTP服务的备用端口 |
– |
– |
– |
21 |
FTP |
FTP服务器所开放的端口,用于上传、下载 |
– |
– |
– |
22 |
SSH |
用于远程连接电脑 |
– |
– |
– |
23 |
Telnet |
远程登录 |
– |
– |
– |
25 |
SMTP |
发放邮件 |
– |
– |
– |
80 |
HTTP |
网页浏览 |
4、DNS
4.1 什么是DNS
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
4.2 DNS系统作用
正向解析:根据主机名称(域名)查找对应IP地址
反向解析:根据IP地址查找对应的主机域名
通俗的说:就是当你访问baidu.com时,先访问到dns服务器问它该域名的IP,然后再访问该IP,毕竟人脑记住域名比记住IP更简单
4.3 本地hosts与dns的关系
Hosts文件是一个用于存储计算机网络只能节点信息的文件,它可以将主机名映射到相应的IP地址,实现dns的功能,它可以由计算机的用户进行控制。
Host文件路径(dns的本地缓存):C:\Windows\System32\drivers\etc\hosts
作用机制:查找域名解析时,先看本地host文件是否有缓存,没有在查找域名服务器。
4.4 常见的dns攻击
4.4.1 DDoS攻击(分布式拒绝服务攻击)
DDoS攻击,可以在同一时间攻击很多计算机,让攻击目标无法正常使用。
攻击者通过伪造自己的DNS服务器地址,并发送大量请求给其他服务器。此时,其他服务器的回复会被发送到被伪造服务器的真实地址,造成该服务器无法处理请求而崩溃。
此外,攻击者还会利用DNS协议中存在的漏洞,恶意创造一个载荷过大的请求,导致目标DNS服务器崩溃。
4.4.2 DNS缓存中毒(域欺骗攻击)
攻击者将非法网络域名地址传送给DNS服务器,一旦服务器接受该非法地址,其缓存就会被攻击。此外,之后响应的域名请求也会被黑客控制。
当这些非法地址进入服务器缓存,用户的浏览器或者邮件服务器就会自动跳转到DNS指定的地址。
与钓鱼攻击采用非法URL,DNS缓存中毒使用的是合法的URL地址,用户往往会以为登陆的是自己熟悉的网站,其实不是。
4.4.3 域名劫持
攻击或伪造域名解析服务器(DNS),把目标网站域名解析到错误的地址,导致用户无法访问目标网站。
网站域名被劫持,会影响用户体验,降低用户粘性。此外用户还有可能被诱骗到冒牌网站进行登录、交易等操作,泄露了自身的隐私数据,使自己陷入风险。
5、代理
5.1 什么是代理
在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器把信息传送回来。代理服务器是介于客户端和web服务器之间的另一台服务器,有了它之后,浏览器不是直接到web服务器去取回网页,而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。
5.2 代理的作用
- 使用代理服务器的IP访问目标,隐匿本身IP,保证自身隐密性。
- 科学上网及提高访问速度
- 当作跳板进行跨网络访问渗透
6、常见的脚本语言
PHP 小众型网站开发
Java-mvc 大型网站开发
python-djano.flask
asp aspx jsp等等
7、后门
下次更容易进入
管道,提供攻击的路径
8、web组成架构模型
网站源码:分脚本类型,分应用方向覆盖
操作系统:windows linux
中间件(搭建平台):apache,lis,tomcat,nginx
数据库:mysql access mssql oracle Sybase db2 postsql等等
9、Web相关安全漏洞
web源码漏洞
web中间件漏洞
web数据库漏洞
web操作系统层对应漏洞
其它第三方对应漏洞
APP或者PC应用结合漏洞