a00000网站建设丽丽,wordpress搭建漫画站,网站没有备案 合法吗,响应式网站的好处Powered by:NEFU AB-IN 文章目录 网站常见安全漏洞 | 青训营 网站基本组成及漏洞定义服务端漏洞SQL注入命令执行越权漏洞SSRF文件上传漏洞 客户端漏洞开放重定向XSSCSRF点击劫持CORS跨域配置错误WebSocket 网站常见安全漏洞 | 青训营 网站常见安全漏洞-网站基本组成及漏洞定义…Powered by:NEFU AB-IN 文章目录 网站常见安全漏洞 | 青训营 网站基本组成及漏洞定义服务端漏洞SQL注入命令执行越权漏洞SSRF文件上传漏洞 客户端漏洞开放重定向XSSCSRF点击劫持CORS跨域配置错误WebSocket 网站常见安全漏洞 | 青训营 网站常见安全漏洞-网站基本组成及漏洞定义 网站常见安全漏洞-服务端漏洞介绍 网站常见安全漏洞-客户端漏洞介绍 网站常见安全漏洞-总结及强调网络安全法
网站基本组成及漏洞定义 网关在计算机网络中指的是连接两个不同网络或协议的设备或系统。它的作用是将传入的数据包从一个网络发送到另一个网络中充当网络的出口或入口。网关可以实现网络之间的通信和数据传输。
网关的主要功能包括地址转换、协议转换、数据加密和解密、流量控制、访问控制等。它还负责将传入的数据包路由到正确的目标主机并在多个网络之间进行数据传输和转发。
NGINX 是一款高性能的开源网络代理服务器它可以用作反向代理服务器、负载均衡器、HTTP缓存和网关等。作为网关NGINX可以处理与网络之间的数据交换转发请求并将请求流量分发到内部的服务器集群。通过配置NGINX可以实现对外部请求的流量控制、访问控制和安全性增强等功能。
因此可以说NGINX可以充当网关的角色但它不仅仅是一个网关还具备其他众多的功能。 网关是在计算机网络中起到连接不同网络或网络段之间的作用它可以用于数据的路由、过滤、转换等功能。下面是一些常见的网关作用和工作流程例子 路由网关路由网关用于连接不同的网络并根据数据包的目的地址决定将数据包发送到哪个网络上。例如Cisco的路由器就是一种常见的路由网关。 防火墙网关防火墙网关用于监控和控制网络流量以保护网络免受恶意攻击和未经授权的访问。例如Checkpoint的防火墙就是一种常见的防火墙网关。 SSL VPN网关SSL VPN网关用于提供远程用户安全访问企业网络的功能通过建立安全的虚拟专用网络VPN隧道使远程用户可以安全地访问内部资源。例如Juniper的SSL VPN网关就是一种常见的SSL VPN网关。 API网关API网关用于管理和保护企业的应用程序接口API它可以提供身份验证、访问控制、流量控制等功能。例如Kong是一种常见的开源API网关。
网关的工作流程通常包括以下步骤
接收数据包网关从连接的网络或主机接收数据包。解析数据包网关解析数据包的头部信息如源地址、目的地址、协议等。决策处理根据预设的策略和规则网关决定如何处理该数据包如路由到其他网络、进行访问控制、过滤等。执行处理网关执行相应的处理操作如进行数据包的转发、修改数据包的内容等。发送数据包网关将处理后的数据包发送到下一个网络或主机。
举一个具体的网关实例是防火墙网关。当数据包进入防火墙网关时网关会解析数据包的头部信息如源IP地址、目的IP地址、端口号等。接着网关根据预设的策略和规则判断该数据包是否满足安全要求如果不满足网关可能会进行阻止或拦截处理如果满足网关可以根据策略将数据包转发到特定的网络或主机。同时防火墙网关还可以对数据包进行深层次的检查和修改以提供额外的安全保护。最后网关将处理后的数据包发送到目标网络或主机。 服务端漏洞
第三方组件漏洞 如log4jSQL 注入命令执行越权漏洞SSRF文件上传漏洞
SQL注入
可能查出别的数据通过union select 直接拼接语句时不安全的用ORM包以对象的方式查询 Mybatis 占位符 若使用#把它当成动态的字段是直接拼接的效果不存在漏洞若使用$不会对参数值进行转义会导致潜在的注入风险 假设我们有一个查询用户信息的SQL语句 SELECT * FROM users WHERE username $username假设攻击者输入的username参数为 OR 11-- 注意末尾的注释符号注释掉原本的闭合单引号并追加额外的SQL语句从而影响整个查询的逻辑那么最终拼接的SQL语句将会变成 SELECT * FROM users WHERE username OR 11--这样由于11始终为真攻击者可以绕过用户名验证获取到所有的用户信息。 使用#号可以防止这种注入攻击因为#会将参数值进行转义并添加单引号即使攻击者输入恶意字符也不会产生注入漏洞。 Golang常见错误写法 比如是图片中插入一个if语句1始终为真一直执行第二个参数的内容会让服务器休眠10s就可以让外面判断是否可以SQL注入从而可以进一步判断表明等等
防护措施对外部数据进行数据清理 命令执行 防护方式
设置白名单只能操控这几个值设置黑名单过滤字符 越权漏洞
类别 未授权不需要认证拿到数据 水平越权查询同等级别的账户信息 垂直越权使用别的权利 SSRF
SSRF代表Server-Side Request Forgery翻译成中文是“服务器端请求伪造”。它是一种网络安全漏洞攻击者可以通过操纵服务器发起的请求来访问、探测或攻击服务器内部的资源甚至可能用于攻击内部系统。通常攻击者会通过构造恶意请求来欺骗服务器使其执行不安全的操作例如向内部服务器发起HTTP请求或访问本地文件系统。
以下是一些SSRF的具体例子 访问内部资源 攻击者可以构造恶意请求使服务器发起请求到内部的数据库、文件系统或其他敏感资源然后将结果返回给攻击者。这可以用于获取敏感数据或执行未授权的操作。 绕过防火墙或内部网络访问限制 攻击者可以利用SSRF来访问内部系统绕过外部服务器的防火墙或网络访问控制列表进而攻击内部系统。 攻击本地资源 攻击者可以利用SSRF来尝试访问本地文件系统例如file:///协议从而读取或修改服务器上的文件。 攻击其他服务 攻击者可以构造请求使服务器发起攻击其他服务例如发起DDoS攻击这可能会导致其他服务不可用。
防止SSRF攻击通常涉及到验证和过滤输入确保服务器不会发起恶意请求。此外网络架构的设计也可以减轻SSRF的风险如将服务器限制在受信任的网络环境中以防止访问敏感资源。
防护方式
尽量这些不要让内网地址可以公网访问URL post只在白名单中选 文件上传漏洞 PHP脚本注入
防护方式 客户端漏洞
开放重定向XSSCSRF点击劫持clickjackingCORS跨域配置错误WebSocket
开放重定向
可能后面的URL不可控 XSS 防护方法
对输入标签和属性进行控制有些onload onclick后面可以跟代码需要控制 CSRF 防护方式 点击劫持 不让使用 iframe 元素嵌入到一个网页中的另一个网页或站点
X-FRAMEdeny 默认拒绝sameorigin允许配置白名单 CORS跨域配置错误
CORS代表跨源资源共享Cross-Origin Resource Sharing是一种用于在Web应用程序中处理跨域HTTP请求的安全机制。跨域请求是指一个网页上的代码试图向不同域协议、域名或端口的服务器发起HTTP请求。由于浏览器的同源策略Same-Origin Policy限制跨域请求通常是被禁止的。CORS是一种通过浏览器的协作机制来允许跨域请求的方法。 Middleware中间件是一种常见的软件设计模式它允许你在一个应用程序的请求-响应过程中插入、扩展或修改功能而不需要修改应用程序的核心代码。中间件位于应用程序的处理流程中可以对请求和响应进行预处理、后处理或者转换。 WebSocket
WebSocketWeb套接字是一种用于在客户端和服务器之间进行全双工通信的网络协议。与传统的HTTP协议不同WebSocket允许服务器主动向客户端发送数据而不需要客户端明确地请求。这使得WebSocket非常适用于实时应用程序如在线游戏、聊天应用、实时协作工具和实时数据传输等。
以下是WebSocket与HTTP之间的主要区别 通信模式 HTTP HTTP是一种请求-响应协议客户端发送请求服务器返回响应然后连接关闭。这是一种单向通信模式。WebSocket WebSocket是全双工协议允许客户端和服务器之间建立持久连接双方可以同时发送和接收数据而不需要不断地建立和关闭连接。 连接开销 HTTP 每次客户端需要与服务器通信时都需要建立一个新的HTTP连接这需要时间和资源。WebSocket WebSocket连接是持久的一旦建立可以保持打开状态允许实时通信减少了连接开销。 协议头 HTTP HTTP协议的请求和响应通常包含大量的头部信息这些头部信息用于描述请求的性质和服务器的响应。WebSocket WebSocket头部相对较小协议更轻量级因此在通信期间传输的数据量更小延迟更低。 端口 HTTP HTTP通常使用标准端口80HTTP或443HTTPS。WebSocket WebSocket使用标准端口80或443但也可以使用其他端口。 应用场景 HTTP 适用于传统的请求-响应应用程序如网页浏览、RESTful API调用等。WebSocket 适用于需要实时双向通信的应用程序如在线游戏、聊天应用、实时协作工具和实时数据传输。
总之WebSocket是一种更适合实时和双向通信的协议它在一次连接的基础上允许客户端和服务器之间进行长时间的数据交换。而HTTP更适用于传统的请求-响应模式每个请求都是独立的连接会在请求和响应之间关闭。选择使用哪种协议取决于应用程序的需求。