万州网站制作,网站为什么网页打不开怎么办,株洲网站建设的企业,长沙找工作最新招聘信息1. SQL注入攻击
SQL注入攻击是一种常见的网络安全威胁#xff0c;它利用Web应用程序中对用户输入的数据的不正确处理#xff0c;攻击者可以在SQL查询中注入恶意代码#xff0c;从而执行非授权的数据库操作。这种攻击方式可以导致数据泄漏、数据篡改、绕过认证等多种安全问题…1. SQL注入攻击
SQL注入攻击是一种常见的网络安全威胁它利用Web应用程序中对用户输入的数据的不正确处理攻击者可以在SQL查询中注入恶意代码从而执行非授权的数据库操作。这种攻击方式可以导致数据泄漏、数据篡改、绕过认证等多种安全问题。
2.XSS攻击跨站脚本攻击
跨站脚本攻击Cross-Site Scripting常缩写为XSS在网页中嵌入客户端恶意脚本常用s语言也会用其他脚本语言。属于客户端攻击受害者是用户包括网站管理员攻击者一般靠管理员身份作为跳板。
3.CSRF攻击跨站请求伪造攻击
跨站请求伪造Cross-Site Request Frogery长缩写为CSRF攻击者通过欺骗手段诱使用户在不知情的情况下在其已经登录的Web应用程序上执行非预期的操作。程序在开发的时候未对相关页面进行token和REFERER判断造成攻击者可构造自己的URL地址欺骗目标用户进行点击。
4.文件上传漏洞
文件上传漏洞是指Web应用在处理用户上传的文件时由于没有正确的验证或限制上传的文件类型、大小或内容导致恶意文件被上传到服务器并执行从而引发安全问题的一种漏洞。
5. DDos攻击分布式拒绝服务攻击
分布式拒绝服务攻击指借助于客户/服务器技术将多个计算机联合起来作为攻击平台对一个或多个目标发动DDos攻击从而成倍的提高拒绝服务攻击的威力。
6. 逻辑漏洞攻击
逻辑漏洞是由于程序逻辑设计上的缺陷导致的安全问题攻击者可以利用这些缺陷来绕过正常的业务逻辑。
7.XXE漏洞攻击XML外部实体注入漏洞漏洞攻击
XXE漏洞是一种影响处理XML数据的应用程序的安全问题。攻击者可以利用这些漏洞来读取服务器上的文件、执行系统命令、发起拒绝服务攻击Dos、探测内网端口、攻击内网网站等。XML文档可以定义实体而外部实体的内容在XML文档外部当应用程序没有正确限制外部实体的使用时就可能触发XXE漏洞。
8. SSRF漏洞攻击服务器端请求伪造攻击
SSRFServer-Side Request Forgery是一种网络安全漏洞允许攻击者利用服务器端的应用程序向攻击者指定的服务器发起请求。这种漏洞通常用于攻击那些无法从外网上直接访问的内部系统。SSRF漏洞的形成主要是由于服务器端提供了从其他服务器获取数据的功能但没有对目标地址进行过滤与限制。
9. 网络安全漏洞梳理
网络安全漏洞定义攻击方式攻击原理SQL注入通过在输入字段中插入恶意SQL代码攻击者可以操纵后端数据库。提交恶意输入到表单或URL参数利用应用程序对输入数据的不充分过滤执行未授权的SQL命令。跨站脚本攻击XSS攻击者将恶意脚本注入到网页中其他用户访问时脚本执行注入脚本到用户输入或URL参数利用网页对用户输入的不过滤或不转义使恶意脚本在其他用户浏览器中执行。跨站请求伪造CSRF攻击者利用用户的登录状态强制用户浏览器执行非自愿的操作。通过第三方网站发送恶意请求利用Web应用未充分验证请求来源执行用户身份下的非法操纵。服务器端请求伪造SSRF攻击者利用服务器发起的请求来访问或操作内部系统。构造恶意请求让那个服务器执行 服务器对请求的目标不限制允许访问不应访问的资源。 XML外部实体注入XXE攻击者通过XML输入使解析器读取外部文件或资源。提交包含外部实体引用的XML数据应用程序允许XML文档包含对外部实体的饮用导致信息泄露或拒绝服务。远程命令/代码执行RCE攻击者在远程服务器上执行任意的命令或代码。通过应用程序的漏洞提交恶意输入应用程序未正确处理用户输入允许执行系统命令或代码。反序列化漏洞攻击者通过修改序列化数据来执行恶意代码。提交修改后的序列化对象应用程序未安全的处理反序列化过程允许执行恶意构造的对象。安全配置缺陷由于配置不当导致的安全漏洞。利用配置不当进行攻击系统或应用的配置未遵循安全最佳实践留下安全漏洞。
通俗解释
SQL注入你在和一个自动回复的机器人对话你输入“我喜欢苹果”她回答“你选择了苹果”。但如果你说“我喜欢苹果;删除所有水果--”它不仅告诉你选择了苹果还执行了删除所有水果的命令。这就是SQL注入攻击者通过输入特殊代码让数据库执行额外的命令。跨站脚本攻击XSS你在社交平台上看到了一个视频链接点进去后却发现这是一个恶作剧它在你的账户上发布了一些垃圾信息。XSS就是攻击者在网站上放置的恶意代码当其他用户访问网站时这些代码就会在他们的浏览器上执行。跨站请求伪造CSRF你在银行上有一个账户登陆后没有登出。然后你访问了一个恶意网站这个网站向你的银行发送了一个转账请求因为你还处于登陆状态银行就会执行这个请求。CSRF攻击就是利用已经登陆的状态让网站在你不知情的情况下代表你发送请求。服务器端请求伪造SSRF你有一个可以向任何人发送请求的助手但这个助手被黑客利用了他让助手去查看你的私人邮箱或其他内部系统。SSRF攻击就是攻击者让服务器去请求访问不应该访问的内部资源。XML外部实体注入XXE你有一个可以读取电子书的阅读器但这个阅读器不进读了你指定的书籍还读取了你电脑上的其他文件。XXE攻击就是攻击者让应用程序读取或访问不应该访问的文件或资源。远程命令/代码执行RCE你有一个可以远程控制的玩具车但这个玩具车的遥控器被黑客拿到了他现在可以控制玩具车去任何地方。RCE攻击就是攻击者通过漏洞控制服务器执行他们想要的命令或代码。反序列化漏洞你有一个可以保存游戏进度的设备但这个设备被黑客修改了当你加载保存的游戏进度时游戏突然变的不一样了。反序列化漏洞就是攻击者修改了应用程序保存的状态当你再次加载这个状态时执行了攻击者的代码。
10.网络安全威胁梳理
文件上传漏洞这种漏洞发生在Web应用允许用户上传文件时如果上传的文件类型没有得到正确的限制或检查攻击者可能上传恶意文件如可执行文件或脚本从而获得对服务器的控制或执行其他攻击。DDos分布式拒绝服务DDos是一种通过大量流量或请求来压垮服务器或网络使其无法响应合法用户的请求的攻击方式。这种攻击通常设计多个来源使得单个源头难以追踪。恶意软件Malware包括病毒、蠕虫、特洛伊木马等它们可以破坏、窃取或加密数据或在不知情的情况下使用受感染的系统进行非法活动。钓鱼攻击Phishing通过伪造的电子邮件、网站等手段诱骗用户提供敏感信息如密码、信用卡信息等。中间人攻击Man-in-the-MiddleMITM攻击者截获并可能修改两个当事方之间的通信而不被双方察觉。零日漏洞Zero-day exploit利用软件中未知的漏洞进行攻击软件的开发者和用户在攻击发生前都不知道这个漏洞的存在。社交工程Social Engineering通过心理操纵手段诱使人们泄露敏感信息或执行某些操作。内部威胁Inside Thread来自组织内部人员的威胁可能是恶意的员工或被外部攻击者操纵的内部人员。数据泄露Date Breach未经授权的访问、窃取或破坏敏感数据。勒索软件Ransomware一种恶意软件它加密受害者的文件并要求支付赎金以解锁。僵尸网络Botnet一个由多个受感染的计算机组成的网络它们被远程控制用于执行DDos攻击或其他恶意活动。会话劫持Session Hijacking攻击者通过盗取或预测会话标识符来接管用户会话从而获得对用户账户的访问权限。
11. 网络协议分布图 1. 应用层这层支持网络应用包括但不限于HTTP超文本传输协议、HTTPS安全超文本传输协议、FTP文件传输协议、SSH安全外壳协议、SMTP简单邮件传输协议、DNS域名系统、SNMP简单网络管理协议、POP3邮局协议第三版、IMAP互联网消息访问协议
应用层决定的是应用如何沟通例如两个不同型号电脑上的不同软件开发者可以根据HTTP协议编写应用程序实现两个应用的沟通。
HTTP用于从网络传输超文本到本地浏览器的传输协议FTP用于在网络上的计算机之间传输文件SSH提供加密的数据传输、身份验证和数据完整性验证
2. 传输层负责在主机进程间提供数据传输服务主要协议有TCP传输控制协议和UDP用户数据报协议。 虽然有MAC和IP地址可以抵达对方主机但对方主机可能运行着无数多个软件进程这时就需要端口号来进行定位了比如客户端生产不同的端口号即使同时访问80端口也没有问题。传输层在网络层端到端的基础上实现了服务进程到服务进程的传输。 TCPTCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。使用三次握手建立连接并在数据传输结束后通过四次挥手释放连接。UDPUDP是一种无连接的传输层协议它提供了一种简单的方式来封装的IP数据报但不保证数据的可靠传输。
3. 网络层负责将数据报从源头传输到目的地主要协议是IP互联网协议与MAC地址协同工作。
IP协议IP是网络层的核心协议负责在不同网络间传输数据包MAC地址MAC地址是网络设备在物理层上的地址通常被收录在网络接口卡NIC上IP协议与MAC地址在网络通信协议中协同工作但他们属于不同的层次。IP地址用于在网络层中标识设备并在多个网络中路由数据包MAC地址用于在数据链路层标识设备并在局域网内进行数据帧的传输。
12. ARP协议工作原理
ARP地址解析协议和RARP逆向地址解析协议都是网络协议他们用于处理网络地址的解析问题但他们的作用和工作原理有所不同。
ARP用于将网络层的IP地址解析为数据链路层的MAC地址。在任何时候一台主机有IP数据报文发送给另一台主机它都要知道接收方的逻辑IP地址。但IP地址必须封装成帧才能通过网络。这就意味着发送方必须有接收方的物理地址MAC因此需要完成逻辑地址到物理地址的映射。ARP协议可以接受来自IP协议的逻辑地址将其映射为响应的物理地址然后把物理地址递交给数据链路层。
工作原理
检查ARP缓存主机在发送数据前检查自己的ARP缓存表查找目的IP地址对应的MAC地址发送ARP请求如果缓存中没有找到对应条目主机发送一个ARP请求广播包询问网络上所有设备“谁的IP地址是这个请告诉我你的MAC地址”接收ARP请求网络上所有设备接收到ARP请求但只有拥有请求中指定IP地址的设备会响应发送ARP响应拥有指定IP地址的设备发送ARP相应包给请求主机包含其MAC地址更新ARP缓存请求主机接收到相应后更新自己的ARP缓存表并将数据发送给目的MAC地址
13.RARP协议工作原理
RARP用于将数据链路层的MAC地址解析为网络层的IP地址这在某些设备如无盘工作站不知道自己的IP地址时非常有用。
工作原理
发送RARP请求设备发送一个RARP请求询问网络上的RARP服务器“我的MAC地址是这个请告诉我的IP地址”RARP服务器查找RARP服务器接收到请求后在RARP表中查找对应的MAC地址发送RARP响应如果找到对应的MAC地址RARP服务器发送相应给请求设备包含分配给MAC地址的IP地址接收RARP响应请求设备接收到响应后得知自己的IP地址并可以开始正常通信
14. DNS简述及其工作原理 计算机只能识别并用IP地址定位这个过程就需要DNS域名解析系统的参与将难以记忆的数字和字母转换为便于记忆的域名。
DNS域名系统Domain Name System是互联网上用于将人类可读的域名如www.example.com转换为机器可读的IP地址如192.0.2.1的系统。它允许用户通过用于记忆的域名来访问来访问互联网上的资源而不必记住难以理解的数字IP地址。以下是工作原理 用户输入域名用户在浏览器中输入一个网站的域名如www.example.com。查询本地DNS缓存用户的设备首先检查本地DNS缓存看是否有该域名的IP地址记录。递归查询如果本地没有记录请求会被发送到配置的DNS服务器该服务器会尝试在它的缓存中查找。访问根DNS服务器如果DNS服务器缓存中没有它会向互联网的根DNS服务器查询。获取TLD服务器信息根服务器指向负责该域名后缀如.com的顶级域名TLD服务器。访问权威DNS服务器TLD服务器提供负责该域名的权威DNS服务器的信息。获取IP地址权威DNS服务器响应查询提供域名对应的IP地址。缓存并返回结果本地DNS服务器将IP地址缓存起来并返回给用户设备。建立连接用户设备使用这个IP地址来建立与目标网站的连接
15. RIP简述及其工作原理
RIP路由信息协议Routing Information Protocol是一种用于网络中路由器之间交换路由信息的内部网关协议IGPRIP是一种基于距离矢量算法的协议使用“跳数”作为衡量到达目的地距离指标。RIP协议就是这样一种简单、自动的路由协议选择最佳线路并实时更新以便信息的高效传递。以下为工作原理
路由表初始化每个运行RIP的路由器都有一个路由表用于存储到达不同网络目的地的路径信息。路由广播路由器定期广播自己的路由表将信息发送给局域网内所有其他路由器。路由更新当路由器接收到来自其他路由器的RIP更新信息时会根据收到的信息更新自己的路由表。跳数限制RIP使用“跳数”来衡量路由的“成本”即数据包到达目的地所需经过的路由器数量。RIP协议通常将最大跳数限制为15跳超过15跳的网络被认为是不可达。路由选择路由器根据到达目的地的跳数来选择最佳路径。如果存在多条路径RIP会选择跳数最少的路径。触发更新当网络拓扑发生变化时例如链路故障或恢复路由器会立即发送触发更新而不是等待定期广播以快速通知其他路由器路由变化。分割水平为了防止路由循环RIP使用分割水平split horizon技术即路由器不会将从某个接口接收到的路由信息通过同一接口广播出去。路由聚合RIP支持路由聚合以减少路由信息的数量和简化路由表。
RIP缺点
收敛速度较慢RIP协议在网络拓扑发生变化时可能需要较长时间来收敛到正确的路由状态不支持大型网络RIP有一个最大跳数限制这限制了RIP在大型网络中的使用安全性问题RIP协议本身没有内置的认证机制因此可能容易受到路由信息的篡改或伪造
16. OSPF简述及工作原理
OSPFOpen Shortest Path First开放最短路径优先是一种内部网关协议IGP用于在单个自治系统AS内部进行路由信息分发。OSPF是动态路由协议的一个例子它使用链路状态算法来计算到达目的地的最短路径。以下是工作原理
手机网络信息每个OSPF路由器收集其直接连接的网络信息交换链路状态路由器使用洪范法将这些信息广播给所有其他路由器构建链路状态数据库每个路由器根据收到的信息构建一个全局的链路状态数据库计算最短距离使用Dijkstra算法每个路由器独立计算到网络中所有其他路由器的最短距离更新路由表根据计算结果路由器更新自己的路由表区域划分为了提高效率OSPF可以将大型网络划分为多个区域减少路由信息的交换范围快速收敛当网络发生变化时OSPF能够迅速重新计算并更新路由表实现快速收敛
17. TCP与UDP区别
连接性TCP是一种面向连接的协议数据传输前需要建立连接通过三次握手过程来确保链接的建立UDP是一种无连接的协议不需要连接就可以直接发送数据可靠性TCP提供可靠的数据传输服务确保数据包按顺序到达如果数据丢失或出错TCP会重新发送数据UDP不保证数据包的顺序、完整性或可靠性发送的数据可能丢失或乱序速度TCP因为需要建立连接和确认数据的接收相对速度较慢UDP由于不需要建立连接和确认速度通常更快流量控制和拥塞控制TCP具有流量控制和拥塞控制机制可以根据网络状况调整数据传输速率UDP没有这些机制发送方可能会在网络拥堵时发送大量数据导致网络拥塞用途TCP适用于需要可靠传输的应用如网页浏览HTTP、文件传输FTP、邮件传输SMTP等UDP适用于对实时性要求较高哦的应用如在线游戏、VoIP网络电话、DNS查询等
18. 三次握手与四次挥手
三次握手确保双方都能发送和接收数据从而建立一个可靠的通信通道。三次握手也防止了重复历史连接的初始化请求突然又传送到了服务端因而产生错误。
SYN同步序列编号客户端选择一个初始序列号ISN并将SYN标识位设为1发送给服务器表示客户端希望建立连接SYN-ACK同步-确认服务器收到客户端的SYN保温后会分配TCP资源并将SYN和ACK标志位都设为1同时将确认号ACK设置为客户端的ISN1发送给客户端ACK确认客户端收到服务器的SYN-ACK报文后再次发送一个ACK标志位为1的报文确认号设置为服务器的ISN1至此连接建立确认号都是根据对方的序号1得到的且就控制位来说也具有唯一性第一次是SYN第二次是SYNACK第三次是ACK两边不仅可以根据序号和确认号还可以根据控制位来区分进行到哪个步骤丢弃一些不必要的报文 四次挥手因为TCP连接是双全工的及数据可以在两个方向上独立的发送。每个方向上的连接都需要单独关闭因此每个方向都需要一个FIN和ACK。
FIN结束当客户端完成数据传输并希望关闭连接时它会发送一个FIN标志位为1的报文给服务器表示客户端已经没有数据要发送了ACK确认服务器收到FIN报文后发送一个ACK标志位为1的报文给客户端确认收到客户端的关闭请求FIN结束服务器在发送完所有剩余数据后也会发送一个FIN标志位1的报文给客户端请求关闭连接ACK确认客户端收到服务器的FIN报文后发送最后一个ACK标志位为1的报文给服务器确认收到服务器的关闭请求。服务器接收到这个确认后连接正式关闭 简单来说三次握手就像是两个人通过电话联系每个人都需要确认对方能听到自己的声音。而四次挥手像是两个人在电话结束时都要表达结束通话的意愿并确认对方已经理解了这个意愿。
19. GET与POST
GET请求用于获取资源通常不会改变服务器上的数据GET请求通过URL传递数据数据会被附加在URL的末尾形成查询字符串。查询字符串以问号开头参数之间用符号连接由于数据以明文形式传递因此不适合传输敏感数据。此外URL的长度有限制不同浏览器对URL的限制不同POST请求用于提交数据通常会改变服务器上的数据。POST请求通过请求正文传递数据数据不会附加在URL上。因为数据被包含在请求正文中所以POST请求不会有URL长度的限制。POST请求适合于传输大量数据或敏感数据。GET请求适合用于请求数据POST请求适用于提交数据
20. cookies与session
cookies存储在客户端用户的浏览器上是小段的文本信息由浏览器管理存储在服务器端服务器通过Session ID来识别和管理不同用户的Sessioncookies可以设置过期时间即使关闭浏览器Cookies依然存在知道过期或被清除session通常在用户关闭浏览器时失效但也可以设置过期时间Cookies通常有大小限制大约为4kbSessions理论上没有限制但过多的Session会增加服务器的存储压力Cookies由于存储在客户端更容易被篡改或被第三方读取安全性较低Session由于存储在服务器端只有通过Session ID才能访问因此相对更安全Cookies常用于存储用户的偏好设置、会话标识符Session ID等信息Sessions常用于需要服务器记住用户状态的场景如用户登录状态、购物车信息等Cookies在HTTP请求中自动发送到服务器每次请求都会携带Cookies信息Sessions只在首次创建时通过Cookies发送Session ID之后通过Session ID在服务器端管理Cookies可以通过浏览器或编程方式设置、读取、修改和删除Sessions需要服务器端编程来创建、跟踪和销毁
Session是一种能力能够使服务器对用户偏好做出反应Token是一个字符串凭证和人的各种证件一样功能的凭证JWT恰好是其中的一种格式Cookie是浏览器中的一个存储技术历时很久了
就像是你从自己的钱包Cookie里掏出了身份证Token递给了窗口服务器里面从而形成了一种Session能力
21. session 的工作原理 当用户访问一个需要进行身份验证的页面时服务器会创建唯一的一个Session ID这个ID为一个无规律的字符串并将该ID存储在一个称为Session对象的数据结构中服务器会将Session ID发送到客户端的浏览器通常是通过在HTTP响应头中设置一个名为“Set-Cookie”的标头来实现当客户端的浏览器接收到服务器发送的Session ID时它会将该ID存储在一个称为Cookie的数据结构中以便在后续的请求中将该ID发送回服务器当用户进行其他请求时浏览器会自动将包含Session ID的Cookie发送回服务器。服务器会根据Session ID找到对应的Session对象并读取或存储与该Session对象关联的用户数据当用户关闭浏览器或者Session超时时Session对象和Session数据将被从服务器内存中删除以释放服务器资源
22. HTTP请求过程 DNS解析当浏览器发起一个URL请求时首先需要将URL中的域名转换为对应的IP地址这就是DNS解析。浏览器会先检查缓存中是否有该域名的IP地址如果没有则向本地DNS服务器发起请求建立TCP连接一旦浏览器得到目标服务器的IP地址就需要通过三次握手来建立一个TCP连接发起HTTP请求TCP连接建立后浏览器会向服务器发送HTTP请求。HTTP请求包括请求方法GET、POST、PUT、DELETE等、URL、HTTP版本号、请求头等信息服务器响应服务器收到请求后会根据请求内容进行处理并向浏览器返回HTTP响应包括状态码、响应头、响应正文等信息接收相应内容浏览器接收到服务器返回的HTTP响应后会根据响应头中的Content-Type字段来判断响应正文的类型然后将响应正文解析成对应的格式并进行渲染关闭TCP连接当响应内容传输完毕后TCP连接会被关闭释放资源
23. HTTP和HTTPS的区别
HTTP是用于数据传输的基本协议但他不提供任何数据加密或身份验证功能。HTTPS是基于HTTP的安全协议通过在HTTP上添加SSL/TLS加密来保证数据的安全性HTTPS通过使用数字证书对Web服务器进行身份验证并使用公钥加密算法来加密数据传输以确保数据在传输过程中不被窃听或篡改
24. HTTP短连接和长连接
短连接HTTP/1.0 默认模式
在HTTP中短连接意味着每个HTTP请求都对应一个全新的TCP连接。请求完成后TCP连接就关闭了如果需要发送新的请求就需要重新建立TCP连接 长连接HTTP/1.1 及以后版本默认模式
在HTTP中长连接也称持久连接允许一个TCP连接上发送多个HTTP请求和响应。只要客户端或服务端没有明确的关闭连接这个TCP连接就可以被重用从而减少了建立和关闭连接的开销
25. TCP如何保证可靠传输
序列号和确认应答机制每个TCP报文段都有一个唯一的序列号用来标识报文段在数据流中的位置接收方可以按正确的顺序重新组装数据。接收方会发送确认应答给发送方告知数据已成功接收如果发送方在一定时间内没有收到确认它会重新发送数据。超时重传如果一个数据包在超时间内没有收到确认发送方会认为该数据包丢失并重新发送该数据包滑动窗口TCP使用滑动窗口机制来控制发送方的数据流量以匹配接收方的处理能力防止接收方被大量数据淹没拥塞控制当网络出现拥塞时TCP通过减慢发送速率来减少网络拥塞避免过多的重传请求
26. 什么是SSLHTTPS是如何保证数据传输的安全 其实SSL是TLS的前身现在很多浏览器都不支持SSL但SSL的名气很大。
SSL用于在网络上进行安全通信。SSL的主要目的是为了保护在网络上传输的数据的安全性、完整性和机密性。HTTPS是在HTTP协议的基础上加入SSL/TLS协议的安全协议可以确保网站与客户端之间的通信是加密的、安全的
加密SSL/TLS协议使用对称加密和非对称加密结合的方式保证数据在传输过程中的安全性。对称加密用于加密数据非对称加密用于在客户端和服务器之间交换密钥鉴别证书机构颁发的证书用于验证服务器的身份和公钥防止中间人攻击和欺骗完整性SSL/TLS协议使用消息摘要算法通过对消息进行哈希运算生成消息摘要以确保在传输过程中的数据完整性 27. 如何保证公钥不被篡改
数字签名使用可信的撕咬对公钥或包含公钥的信息如证书进行数字签名。接收方可以使用对应的公钥验证签名确保公钥的真实性证书颁发机构CA由受信任的第三方机构如证书颁发机构来发行公钥证书。CA会对公钥的所有者进行身份验证然后使用CA的私钥对公钥进行数字签名公钥基础设施PKI建立完整的PKI系统包括证书管理、密钥管理、证书吊销列表CRL和在线证书状态协议OCSP等以确保公钥的整个生命周期的安全公钥哈希将公钥进行哈希处理然后将哈希值公布出来这样可以确保公钥未被篡改
28. 常用渗透工具
BurpSuite、SQLmap、Namp、kali Linux、瑞士军刀
29. XSS盲打
XSS盲打Blind XSS是一种特殊类型的XSS攻击攻击者无法直接看到攻击效果但可以利用它来实现一些恶意目的比如盗取用户的cookies或其他敏感信息
XSS盲打是指攻击者没有先进行漏洞探测而是直接尝试利用已知的XSS漏洞进行攻击。在某些情况下攻击者可能会通过盲打XSS攻击内网服务器。攻击者可能会利用XSS漏洞注入恶意代码使得在受害者的浏览器中执行该代码后向攻击者控制的服务器发送请求以获取内网服务器的敏感信息。这种攻击方式通常需要攻击者事先准备一个恶意服务器以接收发送到该服务器的请求并获取敏感信息
30. 鱼叉式攻击和水坑攻击
鱼叉式攻击Spear Phishing和水坑攻击Watering Hole Attack是两种常见的网络攻击手段它们都用于针对特定的目标进行网络钓鱼或恶意软件的分发
鱼叉式攻击这是一种有针对性的网络钓鱼攻击攻击者精心设计电子邮件或消息使其看起来像是来自受信任的来源目的是诱骗目标用户泄露敏感信息或点击恶意链接
水坑攻击水坑攻击是一种针对特定群体的网络攻击攻击者识别出目标群体经常访问的网站水坑然后在这些网站上植入恶意软件或钓鱼链接
鱼叉式攻击针对特定的个人或小群体而水坑攻击针对更广泛的群体基于他们共同的兴趣或访问习惯。
31. 虚拟机逃逸
虚拟机逃逸VM Escape是一种安全漏洞它允许攻击者从虚拟机内部突破虚拟化层的限制访问或控制宿主机Hypervisor或其他虚拟机。这种攻击可能危及整个虚拟化环境的安全性
虚拟机逃逸指攻击者利用虚拟化软件或操作系统中的漏洞从虚拟机VM环境中获得对物理主机的控制权。攻击者可以通过虚拟机逃逸攻击绕过安全措施获取对整个物理主机的访问权限并访问所有存储在其中的敏感数据
32. 中间人攻击
中间人攻击Man-in-the-Middle Attack简称MITM是一种网络攻击方式攻击者在通信双方之间拦截、修改、冒充或制造虚假通信内容并尝试篡改或者重放数据的一种攻击方式。攻击者通常会在用户和服务器之间插入一个恶意的中间节点这个节点会伪装成正常的通信节点使双方都认为他们在与对方直接通信
33. 云安全
云安全是一系列技术和实践旨在保护云计算环境中的数据、应用程序和基础设施免受各种威胁和攻击。它包括数据保护、身份和访问管理、网络安全、应用程序安全、合规性和审计以及业务连续性和灾难恢复等关键领域
云安全面临的挑战包括认证和授权问题、管理界面漏洞、安全事故管理、应用程序安全和数据安全等。为了应对这些挑战云安全中的措施和控制包括预防控制、威慑控制、侦查控制和纠正控制
34. Websocket
WebSocket是一种网络通信协议提供了在单个TCP连接上进行全双工通信的能力。这意味着客户端和服务器可以同时发送和接收数据而不需要建立信息连接。
Websocket采用全双工通信WebSocket允许服务器主动向客户端发送消息这与传统的HTTP请求-响应模式不同在传统模式中只有客户端可以首先发送请求且Websocket为持久连接一旦WebSocket连接被建立它将保持开放状态直到客户端或服务器端明确关闭连接
35. DDos攻击与CC攻击
DDoS攻击分布式拒绝服务攻击和CC攻击Challenge Collapsar挑战黑洞都是旨在使目标服务器或网络无法正常提供服务的网络攻击手段但它们在攻击方式和特点上存在一些区别
DDos是针对IP的攻击攻击通过控制遍布全球的多台计算机向目标服务器发送海量请求以此耗尽资源导致正常服务中断。DDos攻击类型多样包括SYN Flood攻击利用TCP三次握手协议漏洞发送大量SYN请求ICMP Flood攻击利用ping命令向目标服务器发送大量的ICMP请求UDP Flood攻击利用UDP协议特性发送大量UDP数据包
CC攻击HTTP Flood是一种特殊的DDos攻击方式更侧重于web应用层面的攻击攻击者通过伪造HTTP请求向Web服务器发送大量的请求模拟用户访问从而使得服务器过载无法正常处理合法的网络流量
36. land攻击是什么
LAND攻击Local Area Network Denial attack局域网拒绝服务攻击是一种拒绝服务Dos攻击方式它利用了TCP/IP协议栈的缺陷。LAND攻击的影响包括服务中断和系统崩溃。服务中断可能导致网站无法访问、邮件服务器无法接收和发送邮件等
37. CRLF注入攻击
CRLFCarriage Return Line Feed回车换行注入攻击是一种Web安全漏洞它利用了HTTP响应分割的机制。在HTTP协议中CRLF\r\n序列用来表示一个头部字段的结束。如果一个应用程序在构造HTTP响应时不小心将用户输入的数据拼接到响应头中攻击者就可能通过CRLF注入来操纵响应头导致响应被错误地分割
38. 防止XSS
前端方面
输入过滤在前端对用户输入进行过滤禁止或转义掉潜在的危险字符如,,,,,/等使用HTTPS协议使用HTTPS来保护用户数据的安全性和完整性防止中间人攻击文件上传限制禁止上传可执行文件限制允许的文件类型并实施文件内容检查确保上传的是预期格式的文件HTTP头设置使用HTTP头来限制网页内容的加载以防止XSS攻击
后端方面
输入验证实施强类型检查和验证逻辑确保输入数据的合法性预编译语句Prepared Statements对于数据库查询使用预编译语句来避免SQL注入数据加密使用数据加密算法如AES和安全协议如TLS来保护数据传输和存储安全的HTTP头设置X-Content-Type-Options、X-Frame-Options等安全头增强安全性
39. 端口防护安全
了解开放端口使用端口扫描工具如NAMP来识别那些端口是开放的了解每个端口的作用最小权限原则仅打开必要的端口对于不需要的服务保持端口关闭使用防火墙配置防火墙规则来允许信任的流量阻止或限制其他所有流量定期更新确保所有通过端口提供的服务都是最新版本以减少已知漏洞的风险使用入侵检测系统IDS部署IDS来监控可疑活动并在检测到潜在攻击时发出警报使用入侵防御系统IPS部署IPS来主动组织恶意流量和攻击加密通信对于需要开放的端口使用SSL/TLS等加密协议来保护数据传输的安全
40. Webshell检测思路
Webshell是攻击者上传到服务器并用于远程控制的恶意脚本或程序
检查文件名检查文件名是否与webshell相关如果是则可能是webshell检查文件内容检查文件内容是否包含webshell特性如果是则可能是webshell检查文件权限检查文件权限是否被更改如果更改则可能是webshell检查文件时间检查文件的创建时间和修改时间如果有异常则可能是webshell检查文件大小大小异常则可能是webshell
41. GPC绕过
GPC是PHP中一个用于提高安全性的特性它自动为GET、POST、COOKIE数据中的某些字符添加反斜线进行转义以防止SQL注入和XSS攻击等
如果想要绕过GPC可以使用URL重写、伪静态、XMLHttpRequest等技术
URL重写URL重写通常是指使用服务器端重写规则如Apache的 .htaccess文件或IIS的URL Rewrite模块来改变URL的显示形式。使其对用户更友好或符合网站的URL结构。这并不会隐藏GET参数或避免它们被服务器接收伪静态伪静态是一种技术他将动态网页URL转换为静态资源的URL样式以提高搜索引擎的友好度。着同样不影响URL参数的传输或GPC对他们的处理XMLHttpRequestXMLHttpRequest是一个JavaScript对象用于在不重新加载整个页面的情况下与服务器交换数据并更新部分网页。它通常用于发送异步请求可以是GET或POST请求。虽然POST请求不会在URL中显示参数但它们仍然会经过服务器的GPC处理如果启用
42. Web常用加密算法
1.对称加密算法
AESAdvanced Encryption Standard高级加密标准目前最广泛使用的对称加密算法之一支持128、192和256位密钥常用于数字签名和加密DESData Encryption Standard数据加密标准较老的加密算法已被AES取代但仍在一些旧系统中使用常用于加密和解密3DESTriple DES三成数据加密算法是对DES算法的扩展使用两个或三个不同的密钥对数据进行三次DES加密
2.非对称加密算法
RSA一种广泛使用的非对称加密算法基于大整数分解的困难性常用于生成密钥和加密小数据量ECCElliptic Curve Cryptography椭圆曲线密码学提供了与RSA相同的安全级别但使用的密钥更短
3.散列函数哈希算法
SHA-256Secure Hash Algorithm 256安全哈希算法的变种生成256位的哈希值广泛用于数据完整性验证常用于数字签名等安全认证场景MD5Message Digest Algorithm 5消息摘要算法第五版常用于文件校验由于安全漏洞不推荐用于敏感数据的加密但仍广泛用于一些非安全性场景
4.消息认证码MAC算法
HMACHash-based Message Authentication Code基于哈希函数的消息认证码提供消息的完整性和认证常用于消息完整性验证
5.密码派生函数
PBKDF2Password-based Key Derivation Function 2基于密码的密钥派生函数第二版用于从密码中安全的派生密钥常用于加密口令bcrypt一种密码哈希函数专为密码存储设计通过使用盐salt和多次迭代来增加破解难度常用于加密口令
6.椭圆曲线集成加密方案ECDSA
用于数字签名和公钥加密基于椭圆曲线密码学
7.流加密算法
RC4:曾广泛用于SSL 3.0和TLS 1.0但由于安全问题现在已不推荐使用之前常用于加密大量数据
8.编码和转义
对于Web开发还经常使用Base64编码来传输二进制数据但它不是加密算法不能提供安全性
43. xss作用
获取cookie攻击者获取到cookie后可以进行会话劫持冒充用户在网站上执行操作会话劫持攻击者可以利用XSS攻击来劫持用户的会话通过操作用户的会话Cookie来控制用户账户信息泄露攻击者可以读取用户浏览器中的任何信息包括敏感信息如个人信息、私人消息等钓鱼攻击攻击者可以创建假冒的登陆表单诱骗用户输入用户名和密码重定向攻击攻击者可以利用XSS在受害者的浏览器中执行重定向将用户带到恶意网站恶意脚本执行攻击者可以执行任意JavaScript代码这可能包括键盘记录器、浏览器插件的滥用横向移动在成功攻击一个用户后攻击者可能会尝试在同一个域内横向移动寻找更多的漏洞来攻击其他用户或系统持久化攻击攻击者可以将恶意脚本持久化例如通过修改或创建受信任的网页内容数据操作攻击者可以提交恶意表单修改或删除网站上的数据CSRF攻击攻击者可以利用XSS来发起跨站请求伪造攻击代表用户执行未授权的操作浏览器漏洞利用如果用户的浏览器存在漏洞攻击者可以通过XSS攻击来利用这些漏洞执行更深层次的恶意行为本地文件访问在某些情况下攻击者可能尝试通过XSS访问用户的本地文件社交工程攻击者可以利用XSS在社交网站上散布恶意链接或信息进行社交工程攻击
44. 网络劫持
网络劫持Network Hijacking指攻击者通过非法手段控制或拦截网络通信的行为。这种攻击可以发生在网络层或应用层目的是获取敏感信息、篡改数据、进行拒绝服务攻击或传播恶意软件
常见的网络劫持手段有中间人攻击、DNS劫持、ARP欺骗、会话劫持、钓鱼攻击、DDos攻击、路由器劫持、电子邮件劫持
防护措施可以使用HTTPS通过SSL/TLS加密数据传输使用DNSSECDNS安全扩展来验证DNS记录的完整性在网络设备上启用ARP防护功能防止ARP欺骗使用防火墙和IDS来检测和组织恶意流量定期更新软件和固件修补安全漏洞通过VPN加密整个网络连接将网络分割成多个子网减少攻击者可访问的范围
45. DNS欺骗
DNS欺骗也称DNS劫持是一种网络攻击手段攻击者通过篡改DNS域名系统记录将域名解析到错误的IP地址从而实现对用户访问的重定向。这种攻击可能导致用户访问假冒的网站如钓鱼网站泄露敏感信息或使用户的网络流量经过攻击者的服务器以便进行监听和篡改。
46. 缓冲区溢出原理及防御
缓冲区溢出是一种常见的安全漏洞它发生在当程序尝试向一个固定长度的缓冲区内写入过多数据时超出的数据可能会覆盖相邻内存区域导致程序运行出错或执行恶意代码。
对于防御在写入数据之前进行边界检查检查数据长度是否超过缓冲区大小使用提供自动边界检查的函数如strncpy、snprintf等使用堆栈保护机制如堆栈溢出保护、边界检查缓冲区使用隔离技术ASLR以及深度检查技术如恶意代码检查、反编译检查
47.CSRF防护
会话标识符的生成与分配在用户成功登陆后服务器生成一个随机且唯一的会话标识符这个会话标识符用于追踪用户的唯一会话并在用户进行敏感操作时用于验证请求的合法性会话标识符的绑定与传输在表单提交前把这个会话标识符附加到表单中服务器端会话标识符的验证在接受表单提交后使用会话标识符与之前存储在服务器上的值进行对比使用令牌绑定技术在验证成功后这个标识符将被删除或重新生成新的标识符如果验证失败请求将被拒绝把用户重新定向到登陆页面或者给出警告
48. 文件上传绕过方法
文件扩展名绕过将文件后缀改为常见的文件扩展名如.js 、.jpg 、.exe等根据文件头信息修改文件扩展名一些图片文件如png、gif、jpg等都有自身的文件头可在文件开头修改其文件头使用base64编码上传将需要上传的文件用Base64编码再结合XMLHttpRequest上传字符串文件上传根据文件格式将其转换为字符串再利用eval等函数取值“多部分/表单编码multipart/form-data”信息一般Web应用都是采用此种格式上传文件利用多级分割传一个字符串$_FILES文件域数组采用数据库存储文件可以把文件当作二进制数据存储在数据库里再获取路径下载遗漏文件类型尝试上传各类类型文件以不合法文件类型方式绕过限制如JSP等Exe反射Exe反射加载是将非托管代码如C编译成可执行模块并从可执行文件中加载到当前的应用程序中
49. cookie可测试内容
存在性验证是否所有的Cookie都有必要存在并且没有不必要的cookie被设置安全性标志检查Cookie是否设置了安全标志如Secure、HttpOnly和SameSite属性数据保护确保Cookie中不包含敏感信息或敏感信息是否经过了适当的加密过期时间验证Cookie的域和路径设置是否正确以确保他们不会在不应该的地方被访问检查Cookie的域和路径设置是否正确以确保它们不会在不应该的地方被访问大小限制验证Cookie的大小是否符合规格限制通常每个Cookie不应该超过4KB跨站请求检查Cookie是否容易受到CSRF攻击并验证CSRF防护措施的有效性访问控制测试Cookie的访问控制确保它们不能被第三方JavaScript代码访问浏览器兼容推荐确保Cookie在不同的浏览器和版本中都能正确工作
50. 业务逻辑类漏洞类型
权限绕过未授权访问或执行操作如通过修改URL或参数绕过登录。输入验证不足应用程序未能充分验证输入数据导致SQL注入、XSS等攻击。竞态条件并发请求导致的数据不一致如库存同步问题。价格篡改攻击者修改价格参数尝试以低价购买商品。支付逻辑绕过绕过支付流程获取商品或服务而未实际支付。会话劫持攻击者盗取会话标识符接管其他用户的会话。错误处理不当错误信息泄露敏感信息辅助攻击者进一步攻击。访问控制不当用户能够访问他们不应该访问的数据或功能。配置错误如不恰当地暴露敏感配置信息或服务端点。第三方服务漏洞第三方组件或服务的漏洞被利用影响主应用安全。
51. 文件包含漏洞
文件包含漏洞发生在Web应用允许用户控制文件路径时未经严格验证的输入可导致攻击者包含服务器上的任意文件从而可能泄露敏感信息或执行远程代码。防御此漏洞需要严格验证用户输入限制文件访问范围并采用白名单方法确保只能访问预定的文件
52. 渗透测试过程中发现一个只能上传zip文件的功能有什么可能的思路
文件类型限制测试尝试上传修改过的ZIP文件或其他格式检查时都有文件类型检查漏洞ZIP炸弹上传一个包含大量压缩文件的ZIP测试服务器是否能够妥善处理ZIP炸弹目录遍历检查ZIP文件内的文件是否能够包含../等遍历序列尝试突破上传目录限制文件包含漏洞如果ZIP包含可执行文件或脚本测试系统是否会执行ZIP内的文件信息泄露检查ZIP文件上传后是否有任何敏感信息泄露例如错误消息或服务器响应服务器资源消耗上传大型ZIP文件评估服务器处理大文件的能力检查是否存在拒绝服务的风险文件内容检查尝试在ZIP内容包含恶意脚本或代码检查服务器是否对上传内容进行安全检查上传接口滥用检查上传功能是否能被滥用例如上传大量文件进行服务拒绝攻击权限测试检查上传后的ZIP文件是否能够被其他用户访问评估权限管理是否得当执行路径分析分析上传的ZIP文件在服务器上的存储路径和执行路径寻找潜在的安全漏洞提取和执行如果服务器会自动提取ZIP文件测试是否有可能通过精心构造的ZIP来执行恶意操作响应测试观察上传ZIP文件后服务器的响应检查是否有可能通过响应信息获取额外的安全信息
53. python常用的标准库
操作系统接口os、os.path、subprocess、shutil文件通配符glob字符串处理re、string、difflib、textwarp、unicodedate数据编码和处理base64、codecs、csv、xml数学decimal、fractions、math、random、statistics日期和时间datetime、time拆分合并数据collections、copy、heapq、bisect数据压缩和归档zlib文件加载器fnmatch流控制和种子itertools线程和进程threading、multiprocessing调试器pdb软件包pkgutil、modulefinder、zipimport系统及环境sys、warings、contextlib、platform、getopt、argparseInternet数据处理urllib、urllib2、http、smtplib、poplib、imaplib、ftplib、telnetlib其他struct、copyreg、shelve、weakref
54. reverse tcp和bind tcp的区别
TCP建立连接时有两种方式Reverse TCP和Bind TCP
Bind TCP是攻击者让受害主机监听一个端口等待连接Reverse TCP为攻击者让受害主机主动连接到攻击者指定的服务器和端口
55. SSRF漏洞利用
SSRF漏洞利用是一种攻击技术它利用服务器端请求伪造Server Side Request Forgery漏洞允许攻击者构造特殊的HTTP请求从而访问内部网络上的服务器资源。攻击者可以利用SSRF漏洞来获取内部网络上的敏感信息甚至可以控制内部网络上的服务器