1. TCP和UDP的区别

都是传输层通信协议:

TCP(Transmission Control Protocol) 传输控制协议

面向连接的,可靠的,数据格式是基于字节流的

面向连接

TCP三次握手的过程如下:

  • 客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
  • 服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
  • 客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。

四次挥手

1) 某个应用进程首先调用close,称该端执行“主动关闭”(active close)。该端的TCP于是发送一个FIN分节,表示数据发送完毕。
(2) 接收到这个FIN的对端执行 “被动关闭”(passive close),这个FIN由TCP确认。
注意:FIN的接收也作为一个文件结束符(end-of-file)传递给接收端应用进程,放在已排队等候该应用进程接收的任何其他数据之后,因为,FIN的接收意味着接收端应用进程在相应连接上再无额外数据可接收。
(3) 一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致它的TCP也发送一个FIN。
(4) 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。

可靠的—流量控制,拥塞控制

重传策略
窗口确认
配置TCP—修改建立TCP连接的超时时间

UDP(User Data Protocol) 用户数据包协议

无连接,不可靠的;面向报文;结构简单----网络开销小,传输速度快;

总结:

对可靠性要求高的通信系统往往使用 TCP 传输数据。比如 HTTP 运用 TCP 进行数据的传输;文件传输,邮件传输,远程登录等。
对实时性和效率有要求的话往往使用UDP传输数据,比如qq聊天,在线视频,网络语音通话和DNS协议。
注意:
DNS协议也会用到TCP协议,以下两个场景会用到

当传输字节的长度大于512字节时,使用TCP----UDP报文的最大长度为512字节
当区域传输时,使用TCP

辅助域名服务器会定时(一般是3个小时)向主域名服务器进行查询以便了解数据是否有变动,如有变动,则会执行一次区域传送,进行数据同步。区域传送将使用TCP而不是UDP,因为数据同步传送的数据量比一个请求和应答的数据量要多得多。其次可靠的连接,也保证数据的准确性。

UDP 发送的报文长度是应用进程给出的

TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节

TCP字节流和UDP数据报区别
两者的区别在于TCP接收的是一堆数据,TCP有一个缓冲(窗口),数据块太长,TCP就可以把它分片(IP协议中DF和MF字段)再传输,而UDP发的是数据报,报文长度是应用进程给出的,一次发送整个数据包,因为无连接和无序。

总结:

安全性:UDP漏洞少,TCP漏洞多
传输速度:TCP慢,UDP快,TCP三次握手,四次挥手,流量控制和拥塞控制
连接对象数量:TCP一对一,UDP多对多。

2. TCP的三次握手和四次挥手

3. OSI的七层模型

应用层----为用户提供接口
表示层----数据传输格式:翻译,加密和压缩数据
会话层----建立,管理和终止会话
传输层-----报文段的端到端的传输
网络层------路由选择,分组传输
数据链路层-----透明传输,物理寻址,提供数据帧从节点到节点的传输
物理层-----通过接口以二进制的数据格式在物理媒体上传输数据

4. 一般的网络攻击出现在哪些层

ARP欺骗----数据链链路层
网络嗅探;阻止目标的数据包通过网关

IP欺骗—无认证协议—网络层
ICMP–ping–DDOS攻击—网络层—利用”回送(echo)请求和回答“报文进行网络扫描或拒绝服务攻击

TCP–SYN包–DDOS攻击/网络扫描—传输层
一台主机或服务器所允许建立的TCP连接数是有限的,因此,攻击者常常用TCP全连接(完成三次握手过程)或半连接(只完成二次握手过程)来对目标发起拒绝服务攻击,如SYN Flood攻击和TCP连接耗尽型攻击等。

网络扫描,攻击者可以利用TCP连接请求来进行端口扫描,从而获得主机上的网络服务状态,进一步发起有针对性的攻击。
UDP协议–风暴型拒绝服务器攻击—传输层
DNS—DNS欺骗----应用层
HTTP—明文传输—应用层

5. 常见的端口扫描技术

TCP扫描—TCP全连接扫描,TCP-SYN包,TCP FIN扫描
FIN=1,端口监听,不回应;端口关闭,回复RST标志位设置为1的报文复位连接
TCP NULL 扫描,TCP Xmas扫描
NULL,发送的扫描报文中所有标志为0;
Xmas,FIN,URG和PUSH标志被设置为1。
URG —紧急位,紧急数据
PSH–推送位,急迫位,
FIN—终止位,释放一个连接
FIP扫描
UDP扫描
关闭,发送错误信息,ICMP_PORT_UNRACH;监听,无响应

ICMP分为差错报告报文和询问报文

ping 命令使用 ICMP 回送请求和应答报文–询问报文

路由分析诊断程序 tracert 使用了 ICMP时间超过报文–差错报告报文

6. SSRF漏洞

形成原理
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞
服务端提供了从其他服务器获取数据功能并且没有对目标地址做过滤和限制才造成的

php下面函数的使用不当可能会导致SSRF

curl()
file_get_contents()
fsockopen()

从指定URL获取网页加载图片下载

哪些功能点可能存在SSRF–访问第三方,返回页面内容

危害

  • 端口扫描–http,https,dict
  • 攻击内网或本地存在漏洞的服务–Gopher协议攻击内网FTP,telnet,redis,也可以进行GET,POST请求。
  • 对内网Web应用进行指纹识别及攻击其中存在漏洞的应用–独特的文件和目录—识别应用类型和版本
  • 文件读取–file
  • 命令执行–expect

SSRF支持哪些协议

HTTP—访问端口
file—文件读取
except—命令执行
Gopher—get,post请求

修复方法

  • 限制请求特定域名
  • 禁止请求内网IP
  • 禁止协议
  • 对返回内容进行识别
    绕过
  • P地址,八进制,十进制,十六进制,和IP地址省略
  • 配置域名
  • 通过@绕过正则—http://example.com@evil.com

SSRF验证方式和常见地方

  • 通过抓包分析发送的请求是否是由服务器的发送来判断
  • 在页面源码中查找访问的资源地址,如果资源地址类型存在第三方地址就可能存在 http://www.xxx.com/a.php?image=(地址)

常见的功能点

  • 分享:通过URL地址分享网页内容
  • 转码服务
  • 在线翻译(通过URL地址翻译对应文本的内容。)
  • 图片加载与下载:通过URL地址加载或下载图片
  • 图片、文章收藏功能
  • 未公开的api实现以及其他调用URL的功能
  • 从URL关键字中寻找–url,source,link,src,share

CSRF

形成原理
CSRF是服务器端没有对用户提交的数据进行严格的把控,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。

CSRF 利用的是网站对用户网页浏览器的信任。
欺骗用户浏览器,让其以用户的名义运行操作。
web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。

必备条件:
一个浏览器,两个网站

登录受信任网站A,并在本地生成Cookie。
在不登出A的情况下,访问危险网站B。
危险网站B向登录受信任网站A发送请求

修复方法–referer,token,验证码

校验referer—服务器
referer:标明请求来源于哪个地址,同源策略:域名,协议,端口号

请求地址中增加token验证—服务器
token和cookie存储在客户端,token是一个伪随机数
服务器在接受操作请求的时候,只要验证token是不是上传访问留下的即可判断是不是可信请求,
因为如果没有访问上一个页面,是无法得到这个token,除非结合XSS漏洞或者其他手段能获得通信数据。
由于CSRF的本质在于攻击者欺骗用户去访问自己设置的地址,所以如果要求在访问敏感数据请求时,要求用户浏览器提供不保存在cookie中,并且攻击者无法伪造的数据作为校验,那么攻击者就无法再运行CSRF攻击
正常的访问时,客户端浏览器能够正确得到并传回这个伪随机数,而通过CSRF传来的欺骗性攻击中,攻击者无从事先得知这个伪随机数的值,服务端就会因为校验token的值为空或者错误,拒绝这个可疑请求。

在 HTTP 头中自定义属性并验证–jwt
增加验证码—客户端
二次验证,用户体验不好,一般用在敏感操作的页面,比如登录页面

XSS漏洞

注入型漏洞

输入变量可控,输入变量代码可执行
XSS插入HTML代码中
分类:反射,存储,dom

存储型XSS:你发送一次带XSS代码的请求,以后这个页面的返回包里都会有XSS代码;—持久性
反射型XSS:你发送一次带XSS代码的请求,只能在当前返回的数据包中发现XSS代码;----非持久性
DOM型XSS:你发送一次带XSS代码的请求,在返回包里压根儿就找不到XSS代码的影子;----DOM XSS 是由于浏览器解析机制导致的漏洞,服务器不参与,而存储型与反射型都需要服务器响应参与

危害
cookei;蠕虫,钓鱼
和CSRF结合,存储型更容易触发蠕虫
防御:输入过滤,输出转义。

手撕代码

#关键点,输入获取,风格,split("."),zip()同时比较
if __name__ == '__main__':ver = input().split(' ')#print(ver)vera = ver[0].split('.')verb = ver[1].split('.')#print(vera,verb)# min(len(vera),len(verb))# max(len(vera), len(verb))temp=abs(len(vera)-len(verb))if len(vera)>len(verb):for i in range(0,temp):verb.append(0)if len(vera)<len(verb):for i in range(0,temp):vera.append(0)flag = 0for va, vb in zip(vera,verb):if int(va) > int(vb):flag = 1breakelif int(va) < int(vb):flag = -1breakif flag == 1:print('1')elif flag == -1:print('-1')else:print('0')# 1.0 1.0.0
#0
#0.1 1.1
#-1
#1.0.1 1
#1
#7.5.2.4 7.5.3
#-1

信息收集的获取原理
whois,端口扫描,IP,域名,子域名,操作系统,

快手 网络安全工程师 二面总结(归档,凉经)相关推荐

  1. 网络安全工程师年薪百万?到底是干什么的?

    年薪过百万?网络信息安全工程师,到底是做什么的? 针对时下大火的"网络安全工程师",网络出现不少相关报导和信息: 下面就来跟大家分享一下网络安全工程师工资待遇,给大家作为一个参考. ...

  2. 资深网络安全工程师挣多少钱?年薪近百万

    薪水仍然是求职者寻求新机会时考虑的首选因素.最近的盖洛普美国劳动力市场调查显示,约37%的人会为了20%或更少的涨薪而跳槽.虽然这并不很多,但今天的求职者了解自己的价值,现在的人力市场主动权属于应聘者 ...

  3. 网络安全工程师必备证书有哪些?

    网络环境之间的竞争,归根到底优秀人才之间的竞争. 在2022年网络安全周上,<网络安全人才实战能力白皮书>正式公布.资料显示,到2027年,我国网络安全人员缺口将达327万,而高校人才培养 ...

  4. 【看这个篇就够了】95%成为网络安全工程师

    最近看到网上有很多人在问诸如:"怎样成为网络信息安全工程师"等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,网络信息安全工程师 ...

  5. 2022年总结关于网络安全工程师职业发展方向和职业前景

    互联网发展日渐成熟,所有企业都依赖于网络管理,有企业的地方就需要网络工程师 在一般人的概念里,网络工程师不过就是通过拨号上网,发个Email,聊聊天,计算机组装与维护,组建局域网就以为是网络工程师了, ...

  6. 网络安全工程师需具备的5个重要技能

    网络安全工程师需具备的5个重要技能 我们都知道,网络安全工程师是高薪职业,而且每个企业都非常重视网络安全,对于该职位的需求量也是非常大的.因此,很多人纷纷报名参加网络安全工程师培训班,以提升自己的职业 ...

  7. 如何成为一名网络安全工程师

    首先,我们来看看网络安全工程师的定义:指遵照信息安全管理体系和标准工作,防范黑客入侵并进行分析和防范,通过运用各种安全产品和技术,设置防火墙.防病毒.IDS.PKI.攻防技术等.同时进行安全制度建设与 ...

  8. 从公务员转行网络安全工程师,铁饭碗也比不过“金饽饽”。

    前言 随着疫情的不断变化,影响力席卷大多数的行业,许多人也在这次疫情中失去了工作,或是收入与之前相比大打折扣,因此越来越多的人涌入到了考公或考事业单位的大潮之中. 考公是一场与实力与运气的battle ...

  9. 2023年网络安全工程师学习教程+资料分享

    前言 接下来我将分享一份2023年最新版网络安全工程师学习教程,本文将从学习路线.学习规划.学习方法三个方向来讲述零基础小白如何进阶网络安全工程师,全文篇幅有点长,同学们可以先点个收藏,以免日后错过了 ...

最新文章

  1. 伪共享(False Sharing)
  2. tzselect 设置时间
  3. RequestDispatcher.forward() 与 HttpServletResponse.sendRedirect()的区别
  4. 科普文丨Java 单元测试相关概念理清
  5. signed 与 unsigned 有符号和无符号数
  6. 视觉SLAM笔记(26) 状态估计问题
  7. 开始学习 PixiJS
  8. 【SpringBoot_ANNOTATIONS】组件注册 06 @Conditional 按照条件注册bean
  9. 404终结者——IPFS新引擎Filenet
  10. 市电220V说的是峰峰值还是有效值呢?
  11. 项目管理十大知识领域之项目范围管理
  12. 自动控制理论(9)——奈奎斯特稳定判据
  13. 基于二分查询树(BinarySearchTrees)实现的键值对表(symbole-table)
  14. lisp vla 画矩形_3点画矩形的lisp_AutoCAD LISP矩形窗格绘制
  15. Win10删除文件需要管理员权限则怎么办?
  16. 访问不了共享文件夹提示“网络错误“的解决方法
  17. 服务器响应302是什么意思,HTTP 状态中的 301 和 302 是什么意思?二者有何不同?...
  18. winword.exe应用程序错误
  19. chromeOS运行Steam Alpha版
  20. 苹果mac下载了dms文件怎么办?

热门文章

  1. 【转】抽象基类与接口,共性与个性的选择!
  2. VUE3 响应式 API 之 toRef 与 toRefs
  3. 通过图轻松了解各种协议
  4. arp协议分析python编程实现arp欺骗抓图片
  5. 在线小游戏,在线小游戏大全,网页在线小游戏大全
  6. Android 图片控件ImageView
  7. @Vaild注解使用详解
  8. Mybatis的四种分页方式详解
  9. 若依Vue分离版本 RuoYi-Vue管理系统部署
  10. 【全文翻译】YOLOv1:统一的实时目标检测