X黑手网
X黑手网
X黑手网

问的频率高的网络安全面试题(含答案)

本文面试题汇总:
防范常见的 Web 攻击
重要协议分布层
arp 协议的工作原理
rip 协议是什么?rip 的工作原理
什么是 RARP?工作原理
OSPF 协议?OSPF 的工作原理
TCP UDP 区别总结
什么是三次握手四次挥手?
tcp 为什么要三次握手?
dns 是什么?dns 的工作原理
一次完整的 HTTP 请求过程
Cookies session 区别
GET POST 的区别
HTTPS HTTP 的区别
session 的工作原理?
http 长连接和短连接的区别
OSI 的七层模型都有哪些?
session 的工作原理?什么是 TCP 粘包/拆包?发生原因?解决方案
TCP 如何保证可靠传输?
URI URL 的区别
什么是 SSL
https 是如何保证数据传输的安全(SSL 是怎么工作保证安全的)
TCP 对应的应用层协议,UDP 对应的应用层协议
常见的状态码有哪些?
防范常见的 Web 攻击
什么是 SQL 注入攻击
攻击者在 HTTP 请求中注入恶意的 SQL 代码,服务器使用参数构建数据库 SQL 命令时,恶意
SQL 被一起构造,并在数据库中执行。
用户登录,输入用户名 lianggzone,密码 ‘ or 1=1 ,如果此时使用参数构造的方
式,就会出现
select * from user where name = lianggzone and password = ‘’ or 1=1
不管用户名和密码是什么内容,使查询出来的用户列表不为空。如何防范 SQL 注入攻击使用
预编译的 PrepareStatement 是必须的,但是一般我们会从两个方面同时入手。
Web
1)有效性检验。
2)限制字符串输入的长度。
服务端
1)不用拼接 SQL 字符串。
2)使用预编译的 PrepareStatement
3)有效性检验。(为什么服务端还要做有效性检验?第一准则,外部都是不可信的,防止攻
击者绕过 Web 端请求)
4)过滤 SQL 需要的参数中的特殊字符。比如单引号、双引号。什么是 XSS 攻击
跨站点脚本攻击,指攻击者通过篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用

 
 
户浏览器进行恶意操作的一种攻击方式。如何防范 XSS 攻击
1)前端,服务端,同时需要字符串输入的长度限制。
2)前端,服务端,同时需要对 HTML 转义处理。将其中的”<,>等特殊字符进行转义
编码。
XSS 的核心是必须对输入的数据做过滤处理。
什么是 CSRF 攻击
跨站点请求伪造,指攻击者通过跨站请求,以合法的用户的身份进行非法操作。可以这么理
CSRF 攻击:攻击者盗用你的身份,以你的名义向第三方网站发送恶意请求。CRSF 能做的
事情包括利用你的身份发邮件,发短信,进行交易转账,甚至盗取账号信息。如何防范 CSRF
攻击
安全框架,例如 Spring Security
token 机制。在 HTTP 请求中进行 token 验证,如果请求中没有 token 或者 token 内容不正确
则认为 CSRF 攻击而拒绝该请求。
验证码。通常情况下,验证码能够很好 CSRF 攻击,但是很多况下,出用户
考虑,验证码能作为一种辅助,而不是最主要的解决方案。
referer 别。在 HTTP Header 中有一个字 Referer它记 HTTP 请求的来源地址。如果
Referer 是其网站,就有可能是 CSRF 攻击,则拒绝该请求。但是,服务器并非都能取
Referer很多用户出于隐私考虑,限制 Referer 的发送。在些情况下,浏览器
不会发送 Referer,例如 HTTPS HTTP
1)验证请求来源地址;
2关键操作添加验证码
3)在请求地址添加 token 并验证。
什么是文件漏洞
文件漏洞,指的是用户传一个可执行的脚本文件,并通过此脚本文件获得了执行服务
端命令的能
许多第三方框架、服务,都曾经出文件漏洞,比如很早之前的 Struts2,以及富
本编器等等,可被攻击者传恶意代码,有可能服务端就被人黑了。如何防范文件

文件传的设置为不可执行。
1判断文件型。在判断文件型的时,可以结合使用 MIME Type后缀检查等方式。
因为对于上传文件,不能通过后缀判断文件的型,因为攻击者可以将可执行
文件的后缀改为图片或其他后缀类型,诱导用户执行。
2)对传的文件型进行名单验,只允许上传可靠型。
3传的文件需要进行重命名,使攻击者猜想上传文件的访问路径,将极大地增加
攻击本,同时向 shell.php.rar.ara 这种文件,因为重命名而成功实施攻击。
4)限制传文件的大小
5)单独设置文件服务器的名。
DDos 攻击户端向服务端发送请求接数据包,服务端向户端发送确认数据包,户端不向
服务端
发送确认数据包,服务器一自客户端的确认
没有彻底根治法,非不使用 TCP
DDos 预防:
1)限制同时打开 SYN 半链接的数

 
 
2 SYN 半链接的 Time out
3关闭不必要的服务
重要协议分布
arp 协议的工作原理
地址协议, ARPAddress Resolution Protocol),是 IP 地址获地址的一个
TCP/IP 协议。
1.发送 ARP 请求的以网数据 广播 机,ARP 请求中包含了目
机的 IP 地址
2.收到了 ARP 请求之后,会发送一个 ARP 面包含了目机的 MAC

ARP 协议工作原理:
机都会在自己 ARP 缓冲区中建一个 ARP 列表,以表 IP 地址 MAC
地址之
的对应关系
机(网新加入网时(可能 mac 地址发生变化,接等),
会发送
免费 ARP 把自己 IP 地址 Mac 地址映射关系广播给他主机。
络上机接收到免费 ARP 文时,会更新自己 ARP 缓冲区。将映射关系更新到
自己 ARP 表中。
机需要发送文时,首先检查 ARP 列表中是有对应 IP 地址机的 MAC
地址,如果有,则接发送数据,如果没有,就向本网机发送
ARP 数据包,该
数据包包括的内容有:源主 IP
地址源主 MAC 地址机的
IP 地址等。
本网收到 ARP
数据包时:
A首先检查数据包中的 IP 地址自己
IP 地址,如果不是,则忽略该数据包。
B)如果是,则首先从数据包中取出源主机的 IP
MAC 地址写 ARP 列表中,如果
已经存在,则覆盖
C 然后自己 MAC 地址写 ARP 应包中,告诉源主自己它想 MAC
地址
6.源主收到 ARP 应包。将机的
IP MAC 地址写 ARP 列表,并利用此信
息发送数据。如果源主机一没有收到 ARP
应数据包,表 ARP 查询失败ARP 高速
缓存 ARP 表)是 ARP 地址协议能够高行的关键
什么是 RARP?工作原理
括: 地址协议,网层协议,RARP ARP 工作方式相反 RARP 使只知道自己
地址机能够知道 IP 地址
RARP 发出要向解地址希望返回 IP 地址
包括能够提供所需信息的 RARP 服务器发出的 IP 地址

 
 
原理:
(1)络上每台设备都会有一个无二地址,通常是由设备厂商 MAC 地址
机从网卡上读 MAC 地址然后在网络上发送一个 RARP 请求的广播数据包,请求 RARP
服务器回复机的 IP 地址
(2)RARP 服务器收到了 RARP 请求数据包,为其分 IP 地址,并将 RARP 应发送给主机。
(3)PC1 收到 RARP ,就使用得到 IP 地址进行通
dns 是什么?dns 的工作原理
名转 ip 地址属于应用层协议,使用 UDP 传输。(DNS 应用层协议,以前有个
考官问过)
过程:
总结: 浏览器缓存系统缓存路由缓存IPS 服务器缓存根域名服务器缓存顶级域
名服务器缓存主域名服务器缓存
一、机向本地域名服务器的查询一般都是递归查询。
、本地域名服务器向根域名服务器的查询的代查询。
1)用户输入名时,浏览器检查自己缓存中是 这个映射 ip 地址,有解

2没命中,则检查操作系统缓存(如 Windows hosts)中有没有解过的结果,有解

3若无命中,则请求本地域名服务器解 LDNS)。
4 LDNS 没有命中就跳到根域名服务器请求解根域名服务器返回给 LDNS 一个
名服务器地址
5) 此时 LDNS 发送请求给上步返回 gTLD( 通用顶级域), 接请求的 gTLD
返回这个名对应的 Name Server 地址
6
Name Server 映射关系找到目标 ip返回给 LDNS
7
LDNS 缓存这个名和对应的 ip 的结果返回给用户,用户 TTL 值缓存到
地系统缓存中,名解过程至此结
rip 协议是什么?rip 的工作原理
RIP 路由选择协议(网层协议)
RIP 是一种基于距离矢量Distance-Vector法的协议,使用数(Hop Count)作为度
衡量到达目的网路由距离RIP 通过 UDP 文进行路由信息的交,使用的端
520
工作原理:
RIP 路由协议用“更新UNPDATES)”和请求(REQUESTS)”这两种分来传输信息的。
RIP 协议能的路由每隔 30 UDP520 口给之直连的机器广播更新
信息。并在( 用“路数”(即“跳数”)作为网络距离度。路由器在)给相
邻路由器发出路由信息时,都会给每路径加上内部距离
路由器的收敛机制:
距离量路由选择协议(如 RIP)都有一个题,路由器不知道的全路由
器必须相邻路由器来取网的可信息。由于路由选择更新信息在网络上播慢距离
量路由选择算法有一个慢收敛问题,这个题将导致不一生。
RIP 较少路由收敛机制来的题:
1到无穷大机制: RIP 协议允许最大跳数为 15大于 15 被认为是不可

 
 
路径 15,这条路径才路由表中删除
2 水平法: 路由器不向路径到来的方向传此路径当打开路由器接口后路由
路径是从哪个接来的,并不向此接口回传此路径
3 破坏逆转的水平法: 忽略更新过程中从一个路由取的路径又路由
4)保持定时器法: 防止路由器在路径路由表中删除后的时内(通常为 180 )接
受新路由信息。
保证路由器都收到了路径不可信息
5 更新法:
当某路径数改变了路由立即发出更新信息,不管路由器是
到达信息更新都发出更新信息。
RIP
1由于 15 最大值RIP 能应用于小规模网络;2收敛速慢;3选择
路由,不一最优路由
OSPF 协议?OSPF 的工作原理
OSPFOpen Shortest Pass First,开放最路径优先协议),是一个常用的内部网管协议,是
一个链路状态协议。(层协议,)
原理:
OSPF 组播的方式在开启 OSPF 的接发送 Hello 包,用来确 OSPF 邻居
,则建 OSPF 邻居关系形成邻居表,之后互相发送 LSA链路状态通相互
路由形成 LSDB链路状态数据库)。通过 SPF 法,计算最佳路径cost 最小后放
路由表。
TCP UDP 区别总结?
1.TCP 面向连接(如打电号建连接)提供可靠的服务;UDP 连接的,发送数
前不需要建连接,;UDP 最大不保证可靠交。(由于 UDP 需建
连接,因此 UDP 不会引入建连接的时TCP 需要在端系统连接状态,比如接
发送缓存拥塞控制,序号与确认号的参数等, TCP 会比 UDP
2.UDP 较好时性,工作效 TCP 高速传输和时性有较高的通信或
广播通信。
3. TCP 连接能是一对一的;UDP 一对一,一对对一和的交通信
4 UDP 组首TCP 20 ;UDP 8 个字
5. TCP 面向字节流 TCP 数据一连串结构的字节流;UDP 是面向文的(一
次交一个完整的文,文不可分文是 UDP 数据处理的最小)。
6.UDP 合一次性传输较小数据的网应用,如 DNSSNMP
什么是三次握手四次挥手?tcp 为什么要三次握手?
防止已失效的连接请求然又传送到了服务端,因而错误
第一次握手:建连接时,户端发送 syn (syn=j)服务器,并进入 SYN_SEND 状态,等
服务器确认
次握手:服务器收到 syn 包,必须确认户的 SYNack=j+1),同时自己也发送一个 SYN
包(syn=k), SYN+ACK 包,此时服务器进入 SYN_RECV 状态
第三次握手:户端收到服务器的 SYNACK 包,向服务器发送确认包 ACK(ack=k+1),此包
发送完户端和服务器进入 ESTABLISHED 状态,完三次握手。
三次握手,户端与服务器传送数据
户端发送 FIN,进入 FIN_WAIT1 状态,用来关闭 Client Server 的数据传送
服务端收到 FIN,发送 ACK,进入 CLOSE_WAIT 状态,户端收到这个 ACK,进入 FIN_WAIT2

 
 
状态
服务端发送 FIN,进入 LAST_ACK 状态,用来关闭 Server Client 的数据传送
户端收到 FIN,发送 ACK,进入 TIME_WAIT 状态,服务端收到 ACK,进入 CLOSE 状态(等
2MSL 4 要是防止最后一个 ACK 。)
第一次挥手:主动关闭方发送一个 FIN,用来关闭主动动关闭方的数据传送,就是
主动关闭告诉动关闭方:我已经不 会再给你发数据(当然,在 fin 前发送出
数据,如果没有收到对应的 ack 确认文,主动关闭依然会重发这些数据),但是,此时
主动关闭方还可 以接数据。
次挥手:被动关闭收到 FIN ,发送一个 ACK 对方,确认序号为收到序号+1(与
SYN 同,一个 FIN 用一个序号)。
第三次挥手:被动关闭方发送一个 FIN,用来关闭动关闭到主动关闭方的数据传送,
就是告诉主动关闭方,我的数据发送完,不会再给你发数据
第四次挥手:主动关闭收到 FIN ,发送一个 ACK 动关闭方,确认序号为收到序号+1
至此,完四次挥手。
GET POST 的区别
get 取数据,post 改数据
get 请求的数据 url , 以? URL 和传输数据,参数之间&连, get
安全。而 post 数据 HTTP 的包内(requrest body
get 交的数据最大 2k( 限制取决浏览器), post 没有限制。
GET 生一个 TCP 数据包,浏览器会 http header data 一并发送出,服务器 200(
数据); POST 生两个 TCP 数据包,浏览器发送 header,服务器 100 continue,浏览
发送 data,服务器 200 ok(返回数据)
GET 请求会被浏览器主动缓存,而 POST 不会,非手动设置
GET 等的,而 POST 不是等的
Cookies session 区别
Cookie Session 都是户端与服务器之间状态的解决方案
1不同,cookie存放户端,session存放在服务端。Session 的数据
安全
2的数据型不同
两者都是 key-value 的结构,但 value 型是有差异
cookievalue 能是字符串型,sessionvalue Object
3的数据大小限制不同
cookie大小受浏览器的限制,很多是是 4K 大小 session:理上受当前内的限制,4
生命周期的控制
cookie 的生命周期浏览器关闭的时,就消亡
(1)cookie 的生命周期的,从建时,就时,20 cookie 生命周期
(2)session 的生命周期间隔的,从建时,时如在 20 ,没有访问 session
session 生命周期销毁
session
的工作原理?
session
的工作原理是户端登录完成之后,服务器会建对应的 sessionsession 建完
之后,会 session id 发送给客户端,户端再存浏览器中。这户端访问
服务器时,都会 sessionid,服务器 sessionid 之后,在内存找到对应的 session

 
 
就可以正常工作
一次完整的 HTTP 请求过程
名解 –> 发起 TCP 3 次握手 –> TCP 连接发起 http 请求 –> 服务器 http
请求,浏览器得到 html 代码 –> 浏览器解 html 代码,并请求 html 代码中的(如 js
css图片等) –> 浏览器对页面进行渲染呈用户。
HTTPS HTTP 的区别
1.HTTP 协议传输的数据都是密的,就是文的,因此使用 HTTP 协议传输隐私信息非
常不安全, HTTPS 协议是 SSL+HTTP 协议构建的可进行密传输、身份认证的网协议,
要比 http 协议安全。
2. https 协议需要 ca 请证,一般免费较少,因而需要一定费用。
3http https 使用的是完全不同的连接方式,用的端口也不一,前者是 80者是
443
https://www.cnblogs.com/wqhwe/p/5407468.html
OSI 的七层模型都有哪些?
理层:利用传输介质为数据链路提供物理连接,现比特透明传输。
数据链路层:接自物理层的位流式的数据,并封装成帧,传送到上一层
层:将网络地址对应的地址,并通过路由选择算法为分通过通信选择
路径
传输层:在端与的端之间提供可靠的透明数据传输
层:负责在网中的两之间止通信
层:处理用户信息的表示问题,数据的编码,和解,数据的密和解密
应用层:为用户的应用进程提供通信服务
http 长连接和短连接的区别
HTTP/1.0 认使用短连接。就是户端和服务器进行一次 HTTP 操作,就建
一次连接,务结就中连接。而从 HTTP/1.1 起,认使用长连接,用以保连接特性。
什么是 TCP 粘包/拆包?发生原因?解决方案 一个完整的务可能会被 TCP 拆分成多个包进
行发送,有可能把多的包封装一个的数据包发送,这个就是 TCP 的拆包和粘包
题。原因:1. 应用程序入数据的字大小大于接字发送缓冲区的大小.2. 进行 MSS 大小
TCP ( MSS=TCP 长度-TCP 部长度)3. 网的 payload 大于 MTU 进行 IP
。( MTU 指:一种通信协议的一层能通过的最大数据包大小。)解决方案:1.
长。2. 在包增加回或者空符等特殊字符进行分 3. 息分为
4. 使用其它复的协议,如 RTMP 协议等。
TCP 如何保证可靠传输?
1.
三次握手。
2.
将数据为合理的长度。应用数据被分割成 TCP 认为合发送的数据
号,合理分
3.
时重发。 TCP 发出一个段后它启动一个时器,如果不能收到一个确认就重

4.
确认应:对于收到的请求,出确认
5.

 
 
验和:验出包有丢弃,不
6.
序列号:对序数据进行重序,然后才应用层
7.
丢弃数据:对数据 , 能丢弃数据
8.
控制。TCP 连接的一方都有定大小缓冲TCP 的接只允许一端发
送接缓冲能接的数据。这将防止使较慢主机的缓冲出。
9. 拥塞控制。拥塞时,数据的发送。
1
2
3
4
5
6
7
8
9
验和
序列号
确认应
时重传
连接管理
控制
拥塞控制
常见的状态码有哪些?
200 OK //户端请求成功 403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求在,eg:输入错误 URL
500 Internal Server Error //服务器发生不可预错误 URI URL 的区别 URI源标识
符,用来一的标识一个URL 可以用来标识一个,而还指如何这个

什么是 SSL https 是如何保证数据传输的安全(SSL 是怎么工作保证安全的)
SSL 代表安全接字层。是一种用于加密和验证应用程序(如浏览器)和 Web 服务器之间
发送的数据的协议。 身份验证 , Https 密机制是一种共享密和
密并用的密机制。SSL/TLS 协议作用:认证用户和服务,密数据,数据的完
整性的应用层协议密和解密需要两个不同的密为非对称加;加密和解密都使用
同一个密的 对称加密。 点在于加密、解密效通常比较高 HTTPS 基于非对称加
密的, 公钥的,
1户端向服务器端发起 SSL 连接请求
2) 服务器公钥发送给客户端,并服务器端保着唯一的
3户端用公钥对双方通信的对秘钥进行密,并发送服务器端
4)服务器利用自己一的户端发来的对秘钥进行解密,
5)进行数据传输,服务器和户端双方用有的同的对秘钥对数据进行密解密,
可以保证在数据发过程中的安全,是第三方获得数据包,也无法对其进行密,解密和

 
 
篡改。
因为数字名、要是证防伪非常关键器。 要”就是对传输的内容,通过 hash
计算出一长度的串。然后,在通过 CA 对这要进行密,后得到
的结果就是数字名”
SSL/TLS 协议的公钥密法,就是户端向服务器端公钥
公钥密信息,服务器收到密文,用自己解密。
如何保证公钥不被篡改?
公钥在数字证中。要证是可信的,公钥就是可信的。
公钥计算量太大,如何用的时
一次对session),户端和服务器端都生一个session key),用
密信息。由于是对称加密,运算速度非常,而服务器公钥于加
本身,这少了加运算消耗
1
户端向服务器端要并验证公钥
2
双方协
3
双方进行密通信。面过程的前两又称握手
handshake)。
计算机网》书本:
SSL 工作过程,A户端,B:服务器端
1.商加法:A B 发送 SSL 本号和可选加法,B 选择自己法并告知 A
2.服务器别:B A 发送包公钥的数字证A 使用 CA 发布的公钥对证进行验

3.计算A 生一个密数,用 B 公钥进行发送 BB 据协
共享的对并发送 A.
4.安全数据传输:双方用会密和解密之间传送的数据并验证其完整性
TCP 对应的应用层协议
FTP文件传输协议,使用 21 .
Telnet是一种用程登的端,23
SMTP了简单邮件传送协议,服务器开放的是 25 号端
POP3是和 SMTP 对应,POP3 邮件。
HTTP
UDP 对应的应用层协议
DNS:用于域名解服务,用的是 53 号端
SNMP单网管理协议,使用 161 号端 TFTP(Trival File Transfer Protocal)单文件传输
协议,69
© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容