csdn最全面的网安面试题汇总——小白篇

news2024/11/16 4:32:02

防范常见的 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 的核心是必须对输入的数据做过滤处理。

【如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!】

①网络安全学习路线

②20 份渗透测试电子书

③安全攻防 357 页笔记

④50 份安全攻防面试指南

⑤安全红队渗透工具包

⑥网络安全必备书籍

⑦100 个漏洞实战案例

⑧安全大厂内部教程

什么是 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 协议的工作原理

地址解析协议,即 ARP(Address 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地址。

源主机收到 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 的工作原理

OSPF(Open 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 个字节。

  1. TCP 面向字节流,实际上是 TCP 把数据看成一连串无结构的字节流;UDP 是面向报文的(一次交付一个完整的报文,报文不可分割,报文是 UDP 数据报处理的最小单位)。

6.UDP 适合一次性传输较小数据的网络应用,如 DNS,SNMP 等

什么是三次握手四次挥手?tcp 为什么要三次握手?

为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确认;

第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;

第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 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 的类型是有差异的cookie:value 只能是字符串类型,session:value 是 Object 类型3,存储的数据大小限制不同

cookie:大小受浏览器的限制,很多是是 4K 的大小, session:理论上受当前内存的限制,

4,生命周期的控制

cookie 的生命周期当浏览器关闭的时候,就消亡了

(1)cookie 的生命周期是累计的,从创建时,就开始计时,20 分钟后,cookie 生命周期结束

(2)session 的生命周期是间隔的,从创建时,开始计时如在 20 分钟,没有访问 session,那么 session 生命周期被销毁

session 的工作原理?

session 的工作原理是客户端登录完成之后,服务器会创建对应的 session,session 创建完之后,会把 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 协议安全。

  1. https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。

3.http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。

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 如何保证可靠传输?

  • 三次握手
  • 将数据截断为合理的长度。应用数据被分割成 TCP 认为最适合发送的数据块(按字节编号,合理分片)
  • 超时重发。当 TCP 发出一个段后,它启动一个定时器,如果不能及时收到一个确认就重发
  • 确认应答:对于收到的请求,给出确认响应
  • 校验和:校验出包有错,丢弃报文段,不给出响应
  • 序列号:对失序数据进行重新排序,然后才交给应用层
  • 丢弃重复数据:对于重复数据 , 能够丢弃重复数据
  • 流量控制:TCP 连接的每一方都有固定大小的缓冲空间。TCP 的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。
  • 拥塞控制:当网络拥塞时,减少数据的发送。
  • 校验和序列号
  • 确认应答
  • 超时重传
  • 连接管理
  • 流量控制
  • 拥塞控制

常见的状态码有哪些?

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 的公钥进行加密后发送给 B,B 根据协商的算法产生共享的对称会话密钥并发送给 A.

4.安全数据传输:双方用会话密钥加密和解密它们之间传送的数据并验证其完整

TCP 对应的应用层协议

FTP:定义了文件传输协议,使用 21 端口.

Telnet:它是一种用于远程登陆的端口,23 端口

SMTP:定义了简单邮件传送协议,服务器开放的是 25 号端口。

POP3:它是和 SMTP 对应,POP3 用于接收邮件。

UDP 对应的应用层协议

DNS:用于域名解析服务,用的是 53 号端口

SNMP:简单网络管理协议,使用 161 号端口

TFTP(Trival File Transfer Protocal):简单文件传输协议

学习计划安排


我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!

:黑客&网络安全的渗透攻防

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

在这里领取:

这个是我花了几天几夜自整理的最新最全网安学习资料包免费共享给你们,其中包含以下东西:

1.学习路线&职业规划

在这里插入图片描述
在这里插入图片描述

2.全套体系课&入门到精通

在这里插入图片描述

3.黑客电子书&面试资料

在这里插入图片描述

4.漏洞挖掘工具和学习文档

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1545305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员如何兼职赚小钱?

程序员由于有技术和手艺其实兼职赚钱的路子还是挺多的&#xff0c;只要你有足够的时间。 1. 做外包 这是比较传统的方式&#xff0c;甲方在一些众包平台上发布开发任务&#xff0c;你可以抢这个任务&#xff0c;但是价格都比较便宜。 任务比较多的平台: 猪八戒、一品威客、开…

【Java】哈希表

文章目录 一、概念二、哈希冲突2.1概念2.2设计合理的哈希函数-避免冲突2.3调节负载因子-避免冲突2.4闭散列-冲突解决&#xff08;了解&#xff09;2.5开散列/哈希桶-冲突解决&#xff08;重点掌握&#xff09; 三、代码实现3.1成员变量及方法的设定3.2插入3.3重新哈希3.4 获取到…

面试题-Elasticsearch集群架构和调优手段(超全面)

对于Elasticsearch&#xff08;ES&#xff09;&#xff0c;我了解并有经验。在我之前的公司&#xff0c;我们有一个相对大型的ES集群&#xff0c;以下是该集群的架构和一些调优手段的概述&#xff1a; 1. 集群架构 集群规模&#xff1a;我们的ES集群由15个节点组成&#xff0c…

ICC2:postmask ECO参考脚本

更多学习内容请关注「拾陆楼」知识星球 拾陆楼知识星球入口 eco_netlist -by_verilog_file eco.v -write_changes eco.tcl set_app_options -name design.eco_freeze_silocon_mode -value true source eco tcl set_app_options -name design.eco_freeze_silocon_mode -valu…

C++ 3.25作业

1、定义自己的命名空间&#xff0c;其中有string类型的变量&#xff0c;再定义两个函数&#xff0c;一个函数完成字符串的输入&#xff0c;一个函数完成求字符串长度&#xff0c;再定义一个全局函数完成对该字符串的反转 #include <iostream>using namespace std;namesp…

vite+vue3动态模块化导入并使用pinia

一、安装引入pinia 1.安装 pnpm install pinia # 或者使用 yarn yarn add pinia # 或者使用 npm npm install pinia 2.在main.js里引入 import { createApp } from vue import App from ./App.vue import { createPinia } from pinia createApp(App).use(createPinia()).mo…

【linux网络(一)】初识网络, 理解四层网络模型

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; Linux网络 1. 前言2. 初识网络…

Python 全栈体系【四阶】(十八)

第五章 深度学习 一、基本理论 4. 神经网络的改进 4.1 神经网络的局限 全连接神经网络的局限&#xff08;一&#xff09; 未考虑数据的“形状”&#xff0c;会破坏数据空间结构。例如&#xff0c;输入数据是图像时&#xff0c;图像通常是高长通道方向上的 3 维形状。但是&a…

JavaParser 手动安装和配置

目录 前言 一、安装 Maven 工具 1.1 Maven 软件的下载 1.2 Maven 软件的安装 1.3 Maven 环境变量配置 1.4 通过命令检查 Maven 版本 二、配置 Maven 仓库 2.1 修改仓库目录 2.2 添加国内镜像 三、从 Github 下载 JavaParser 3.1 下载并解压 JavaParser 3.2 从路径打…

C#学习笔记2:设置启动项目、数组/二维数组

今日继续我的C#学习之路 设置启动项目&#xff1a; Visual Studio 无法直接启动带有“类库输出类型“的项目。若要调试此项目&#xff0c;请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项目问题解决 调试学习时的一个小插曲&#xff0c;有时会…

yolov8直接调用zed相机实现三维测距(python)

yolov8直接调用zed相机实现三维测距&#xff08;python&#xff09; 1. 相关配置2. 相关代码3. 实验结果 相关链接 此项目直接调用zed相机实现三维测距&#xff0c;无需标定&#xff0c;相关内容如下&#xff1a; 1.yolov5直接调用zed相机实现三维测距&#xff08;python&#…

深入解析MySQL的四种打开方式

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

利用云手机技术,开拓海外社交市场

近年来&#xff0c;随着科技的不断进步&#xff0c;云手机技术逐渐在海外社交营销领域崭露头角。其灵活性、成本效益和全球性特征使其成为海外社交营销的利器。那么&#xff0c;究竟云手机在海外社交营销中扮演了怎样的角色呢&#xff1f; 首先&#xff0c;云手机技术能够消除地…

Linux:进程概念认识

进程 基本概念 课本概念&#xff1a;程序的一个执行实例&#xff0c;正在执行的程序等 内核观点&#xff1a;担当分配系统资源&#xff08; CPU 时间&#xff0c;内存&#xff09;的实体。 描述进程 -PCB 进程信息被放在一个叫做进程控制块的数据结构中&#xff0c;可以理解为…

【Canvas与艺术】淡蓝辉光汽车速度仪表盘

【关键点】 内圈处渐变色的采用。 【效果图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>淡蓝辉光汽车速度仪表盘</t…

【学习】Web安全测试需要考虑哪些情形

一、数据加密 某些数据需要进行信息加密和过滤后才能在客户端和服务器之间进行传输&#xff0c;包括用户登录密码、信用卡信息等。例如&#xff0c;在登录某银行网站时&#xff0c;该网站必须支持SSL协议&#xff0c;通过浏览器访问该网站时&#xff0c;地址栏的http变成https…

【智能算法】飞蛾扑火算法(MFO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2015年&#xff0c;Mirjalili等人受到飞蛾受到火焰吸引行为启发&#xff0c;提出了飞蛾算法(Moth-Flame Optimization&#xff0c;MFO)。 2.算法原理 2.1算法思想 MFO基于自然界中飞蛾寻找光源的…

【MySQL数据库】数据类型和简单的增删改查

目录 数据库 MySQL的常用数据类型 1.数值类型&#xff1a; 2.字符串类型 3.日期类型 MySQL简单的增删改查 1.插入数据&#xff1a; 2.查询数据&#xff1a; 3.修改语句&#xff1a; 4.删除语句&#xff1a; 数据库 平时我们使用的操作系统都把数据存储在文件中&#…

2015年认证杯SPSSPRO杯数学建模A题(第一阶段)绳结全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 A题 绳结 原题再现&#xff1a; 给绳索打结是人们在日常生活中常用的技能。对登山、航海、垂钓、野外生存等专门用途&#xff0c;结绳更是必不可少的技能之一。针对不同用途&#xff0c;有多种绳结的编制方法。最简单的绳结&#xff0c;有时称…

python爬虫基础-----运算符(第三天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…