网络安全 - 网络编程 面试题及答案
网络安全
56.说说有哪些安全攻击?
网络安全攻击主要分为两种类型,被动攻击和主动攻击:

- 被动攻击:是指攻击者从网络上窃听他人的通信内容,通常把这类攻击称为截获,被动攻击主要有两种形式:消息内容泄露攻击和流量分析攻击。由于攻击者没有修改数据,使得这种攻击很难被检测到。
- 主动攻击:直接对现有的数据和服务造成影响,常见的主动攻击类型有:
- 篡改:攻击者故意篡改网络上送的报文,甚至把完全伪造的报文传送给接收方。
- 恶意程序:恶意程序种类繁多,包括计算机病毒、计算机蠕虫、特洛伊木马、后门入侵、流氓软件等等。
- 拒绝服务Dos:攻击者向服务器不停地发送分组,使服务器无法提供正常服务。
57.DNS劫持了解吗?
DNS劫持即域名劫持,是通过将原域名对应的IP地址进行替换,从而使用户访问到错误的网站,或者使用户无法正常访问网站的一种攻击方式。

域名劫持往往只能在特定的网络范围内进行,范围外的DNS服务器能够返回正常的IP地址。攻击者可以冒充原域名所属机构,通过电子邮件的方式修改组织机构的域名注册信息,或者将域名转让给其它主持,并将新的域名信息保存在所指定的DNS服务器中,从而使用户无法对原域名来进行解析以访问目标地址。
DNS劫持的步骤是什么样的?
- 获取要劫持的域名信息:攻击者会首先访问域名查询要劫持的站点的域名信息。
- 控制域名响应的E-Mail账号:在获取到域名信息后,攻击者通过暴力破解或者专门的方法破解公司注册域名时使用的E-mail账号所对应的密码,更高级的攻击者甚至能够直接对E-Mail进行信息窃取。
- 修改注册信息:当攻击者破解了E-Mail后,会利用相关的更改功能修改该域名的注册信息,包括域名拥有者信息,DNS服务器信息等。
- 使用E-Mail收发确认函:在修改完注册信息后,攻击者E-Mail在真正拥有者之前收到修改域名注册信息的相关确认信息,并回复确认修改文件,待网络公司恢复已成功修改信件后,攻击者便成功完成DNS劫持。
怎么应对DNS劫持?
- 直接通过IP地址访问网站,避开DNS劫持
- 由于域名劫持往往只能在特定的网络范围内进行,因此一些高级用户可以通过网络设置让DNS指向正常的域名服务器以实现对目标网址的正常访问,例如计算机首选DNS服务器的地址固定为8.8.8.8。
58.什么是 CSRF 攻击?如何避免?
什么是 CSRF 攻击?
CSRF,跨站请求伪造(英文全称是 Cross-site request forgery),是一种挟持用户在当前已登录的 Web 应用程序上执行非本意的操作的攻击方法。
CSRF 是如何攻击的呢?
来看一个例子:

用户登陆银行,没有退出,浏览器包含了 用户 在银行的身份认证信息。
攻击者将伪造的转账请求,包含在在帖子
用户在银行网站保持登陆的情况下,浏览帖子
将伪造的转账请求连同身份认证信息,发送到银行网站
银行网站看到身份认证信息,以为就是 用户的合法操作,最后造成用户资金损失。
怎么应对 CSRF 攻击呢?
检查 Referer 字段
HTTP头中的Referer字段记录了该 HTTP 请求的来源地址。在通常情况下,访问一个安全受限页面的请求来自于同一个网站,而如果黑客要对其实施 CSRF攻击,他一般只能在他自己的网站构造请求。因此,可以通过验证Referer值来防御CSRF 攻击。
添加校验 token
以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有token或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。
敏感操作多重校验
对一些敏感的操作,除了需要校验用户的认证信息,还可以通过邮箱确认、验证码确认这样的方式多重校验。
59.什么是 DoS、DDoS、DRDoS 攻击?

DOS: (Denial of Service), 翻译过来就是拒绝服务, 一切能引起拒绝 行为的攻击都被称为 DOS 攻击。最常见的 DoS 攻击就有计算机网络宽带攻击、连通性攻击。
DDoS: (Distributed Denial of Service),翻译过来是分布式拒绝服务。是指处于不同位置的多个攻击者同时向一个或几个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器,并利用这些机器对受害者同时实施攻击。
主要形式有流量攻击和资源耗尽攻击,常见的 DDoS攻击有: SYN Flood、Ping of Death、ACK Flood、UDP Flood 等。
DRDoS: (Distributed Reflection Denial of Service),中文是分布式反射拒绝服务,该方式靠的是发送大量带有被害者 IP 地址的数据包给攻击主机,然后攻击主机对 IP 地址源做出大量回应,从而形成拒绝服务攻击。
如何防范DDoS?
针对DDoS中的流量攻击,最直接的方法是增加带宽,理论上只要带宽大于攻击流量就可以了,但是这种方法成本非常高。在有充足带宽的前提下,我们应该尽量提升路由器、网卡、交换机等硬件设施的配置。
针对资源耗尽攻击,我们可以升级主机服务器硬件,在网络带宽得到保证的前提下,使得服务器能够有效对抗海量的SYN攻击包。我们也可以安装专业的抗DDoS防火墙,从而对抗SYN Flood等流量型攻击。瓷碗,负载均衡,CDN等技术都能有效对抗DDos攻击。
60.什么是 XSS 攻击,如何避免?
XSS 攻击也是比较常见,XSS,叫跨站脚本攻击(Cross-Site Scripting),因为会与层叠样式表 (Cascading Style Sheets, CSS) 的缩写混淆,因此有人将跨站脚本攻击缩写为 XSS。它指的是恶意攻击者往 Web 页面里插入恶意 html 代码,当用户浏览网页的时候,嵌入其中 Web 里面的 html 代码会被执行,从而达到恶意攻击用户的特殊目的。
XSS 攻击一般分三种类型:存储型 、反射型 、DOM 型 XSS
XSS 是如何攻击的呢?
简单说,XSS的攻击方式就是想办法“教唆”用户的浏览器去执行一些这个网页中原本不存在的前端代码。
拿反射型举个例子吧,流程图如下:
- 攻击者构造出特殊的 URL,其中包含恶意代码。
- 用户打开带有恶意代码的 URL 时,访问正常网站服务器
- 网站服务端将恶意代码从 URL 中取出,拼接在 HTML 中返回给浏览器。
- 用户浏览器接收到响应后解析执行,混在其中的恶意代码也被执行,请求恶意服务器,发送用户数据
- 攻击者就可以窃取用户的数据,以此冒充用户的行为,调用目标网站接口执行攻击者指定的操作。

如何应对 XSS 攻击?
- 对输入进行过滤,过滤标签等,只允许合法值。
- HTML 转义
- 对于链接跳转,如
<a href="xxx"等,要校验内容,禁止以 script 开头的非法链接。 - 限制输入长度
61.对称加密与非对称加密有什么区别?
对称加密:指加密和解密使用同一密钥,优点是运算速度较快,缺点是如何安全将密钥传输给另一方。常见的对称加密算法有:DES、AES 等。

非对称加密:指的是加密和解密使用不同的密钥(即公钥和私钥)。公钥与私钥是成对存在的,如果用公钥对数据进行加密,只有对应的私钥才能解密。常见的非对称加密算法有 RSA。

62.RSA和AES算法有什么区别?
RSA
采用非对称加密的方式,采用公钥进行加密,私钥解密的形式。其私钥长度一般较长,由于需要大数的乘幂求模等运算,其运算速度较慢,不合适大量数据文件加密。
AES
采用对称加密的方式,其秘钥长度最长只有256个比特,加密和解密速度较快,易于硬件实现。由于是对称加密,通信双方在进行数据传输前需要获知加密密钥。
作者:三分恶
来源:https://www.cnblogs.com/three-fighter/p/15869220.html
最近建一些几十个工作内推群,各大城市都有,群里目前已经收集了很多内推岗位,大厂、中厂、小厂、外包都有。 欢迎HR、开发、测试、运维和产品加入。

扫描下方微信,备注:网站+所在城市,即可拉你进工作内推群。
