6.1 安全漏洞与网络攻击
数据参考:CISP官方
目录
- 安全漏洞及产生原因
- 信息收集与分析
- 网络攻击实施
- 后门设置与痕迹清除
一、安全漏洞及产生原因
什么是安全漏洞
- 安全漏洞也称脆弱性,是计算机系统存在的缺陷
漏洞的形式
- 安全漏洞以不同形式存在
- 漏洞数量逐年递增
漏洞产生的技术原因
内因:软件复杂性使得漏洞不可避免
- 软件规模増大,功能越来越多,越来越复杂,难以避免缺陷
- 软件模块复用,导致安全漏洞延续
- 缺乏从设计开始安全考虑
外因:互联网发展对软件安全的挑战
漏洞产生的经济原因
软件开发管理过程中缺乏对安全的重视
- 市场和业务要求将交付期和软件功能做主要因素
- 用户方没有提供安全方面的压力
“劣币驱除良币”效应,重视安全的公司被淘汰
劣币驱除良币效应后果
- 企业管理层对安全开发缺乏了解
- 开发管理人员不了解软件安全开发的管理流程、方法和技巧
- 软件开发人员缺乏将软件安全需求、安全特性和编程方法进行结合的能力
- 测试人员无法以“坏人"的角度来思考软件安全问题
漏洞产生的应用环境原因
- 互联网的发展使软件运行环境从传统的封闭、静态和可控变为开放、动态和难控
- 攻防信息不对称性进一步增强,攻易守难的矛盾进一步凸显
- 强大经济利益推动漏洞挖掘产业化方向发展
二、信息收集与分析
攻击的过程
- 踩点:攻击者在此阶段收集目标系统或网络的信息,探测其弱点和漏洞。这包括公开可得的信息、社交媒体数据、网络架构、端口扫描等。(信息收集及分析)
- 入侵:基于收集到的信息,攻击者执行特定的攻击行动,以获取未授权访问目标系统或网络的权限。这可能涉及利用漏洞、恶意软件传播、社会工程等手段。(实施攻击)
- 后门:成功入侵后,攻击者可能会在目标系统中留下后门,以便日后轻松进入系统,获得持久访问权限。后门可通过恶意代码、远程访问工具、植入的恶意设置等方式实现。(方便下次进入)
- 痕迹:为了隐藏攻击行为,攻击者可能会试图清除或篡改入侵的痕迹,以防止被发现。这包括删除日志、修改访问记录、擦除恶意软件等。(清除入侵记录)
信息收集:攻击的前奏
为什么要信息收集?
- 知己知彼,百战不殆
- 信息是攻击的基础
- 信息收集可以成为攻击的方式
为什么需要分析目标
- 确定收集信息的准确性
- 攻击方式及攻击路径的选择
收集什么信息?
目标IT相关信息
- 目标的域名信息
- 目标的网络拓扑结构、安全设备型号、配置
- 目标系统版本、数量
- 目标应用软件版本、型号、开发语言、开发商等
- 目标的相关Web网页内容
目标相关公开信息
- 组织机构、地理位置、电话号码、邮件等联系方式
- 近期重大事件
- 员工简历
其他可能令攻击者感兴趣的信息
案例:明星的家庭住址
背景:明星家庭住址是明星隐私,她们都不愿意透露,微博时代,明星也爱玩微博
微博信息
- 13:50 四环堵死,我联排要迟到了?
- 在北京工作这么久,都没在北京中心地带买一套房子
- 光顾着看围脖,忘记给老爸指路,都开到中关村了
结论:北四环外某个成熟小区,小区中间有三个相连的方形花坛
Google earth能帮助我们快速找到这个小区
Google Earth
Google Earth是一款提供卫星影像、地理信息和3D建模的虚拟地球浏览器,可以用于浏览和探索全球范围内的地理位置。以下是使用Google Earth来缩小范围并找到特定小区的一般步骤:
-
下载和安装Google Earth:首先,您需要从Google Earth官方网站下载并安装适用于您的操作系统的Google Earth应用程序。
-
搜索目标地点:打开Google Earth后,您可以使用搜索栏输入相关的位置信息,例如“北京北四环外某小区”。您还可以缩放和平移地球图像以便更详细地浏览目标地区。
-
利用卫星影像和3D建模:使用Google Earth的卫星影像功能和3D建模功能,您可以查看目标地区的实际外观,包括建筑、道路和地理特征等等。这可能有助于您识别目标地点是否符合微博中提到的描述。
信息收集与分析工具
系统命令工具:
- Nslookup:用于查询域名解析的工具。
- Whois:用于获取域名的注册信息,如注册人、注册商等。
- Tracert:用于跟踪网络路径,检测数据包从源到目的地的路径。
- Ping:用于测试与目标主机之间的连通性和延迟。
搜索引擎:
- Google:全球最大的搜索引擎之一,可用于搜索各种信息。
- 百度:中国最大的中文搜索引擎,提供本土化的搜索结果。
扫描器工具:
- 端口扫描器(如nmap):用于扫描目标主机上开放的端口,了解目标主机的服务和配置情况。
- 漏洞扫描软件:
- 系统漏洞扫描(如Nessus):用于发现操作系统存在的安全漏洞。
- Web漏洞扫描(如AppScan):用于发现Web应用程序中的安全漏洞。
- 数据库漏洞扫描:用于检测数据库系统中可能存在的安全漏洞。
公开信息收集搜索引擎:
- 使用搜索引擎(如Google)进行信息搜索,可以找到公开网站和相关信息。
快速定位
某开源软件 xxx.jsp 脚本存在漏洞:在Google搜索中输入“xxx.jsp”可以找到使用该脚本的Web网站,从而了解是否存在相关漏洞。
信息挖掘:
定点采集
- 使用Google搜索,结合关键词“.doc+ website”,可以进行信息挖掘,找到与特定关键词相关的文档和网站。
隐藏信息:
- 使用Google搜索,结合一些常见的文件后缀(例如:.mdb、.ini、txt、.old、.bak、.001等),可以搜索到可能包含隐藏信息的文件。
后台入口:
- 后台入口指的是网站或应用程序的管理界面。
- 对于具体的网站和应用程序,通常会有一些已知的后台入口路径(例如,/admin、/login等)。
- 请注意,非法利用这些后台入口进行未经授权的访问是违法行为,请确保您在合法和合规的情况下使用这些信息。
案例:Google Hack
案例背景:
- 时间:2008年01月10日
- 目标:北京XX区政府门户网站
- 测试方式:定点采集
- Google搜索:“.doc+website”挖掘信息
公务员邮箱使用说明:
- 选择公务员邮箱,输入邮箱名,邮箱密码默认为六个1,鼠标单击登陆。
- 例如,选择公务员邮箱,在用户名处输入tjjbgs,密码输入11111,单击登陆即可进入统计局办公室的邮箱。
信息收集与分析
网络信息收集
- 正常服务 (如:whois)
- 系统功能(如:ping、tracert)
系统及应用信息收集
服务旗标:
- 服务旗标是指通过分析网络数据包中的特定字段来确定正在运行的服务类型。
- 通过检测服务旗标可以了解目标主机上开放的服务,例如HTTP(80端口)、FTP(21端口)等。
欢迎信息:
- 欢迎信息是在与目标主机建立连接后系统自动发送的文本信息。
- 欢迎信息可以提供关于目标主机操作系统、应用程序或服务的一些提示信息。
端口扫描:
- 端口扫描是一种通过扫描目标主机的开放端口来获取信息的方法。
- 使用工具如Nmap可以发现目标主机上哪些端口是开放的,从而判断其运行的服务和可能存在的漏洞。
TCP/IP协议指纹识别
- TCP/IP协议指纹识别是通过分析目标主机的TCP/IP网络通信包头部信息来识别其操作系统或应用程序类型。
- 每个操作系统或应用程序在实现TCP/IP协议时可能有一些不同的特征标识,通过识别这些标识可以推断目标主机的类型。
信息收集与分析的防范
公开信息收集防御
- 信息展示最小化原则,不必要的信息不要发布
网络信息收集防御
- 部署网络安全设备 (IDS、防火墙等)
- 设置安全设备应对信息收集 (阻止CMP)
系统及应用信息收集防御
- 修改默认配置 (旗标、端口等)
- 减少攻击面
三、网络攻击实施
网络攻击实施
-
配置缺陷:指系统或应用程序中存在安全配置错误或不完善的问题,可能导致系统脆弱性暴露,使攻击者能够利用这些漏洞进行进一步攻击。
-
口令破解:攻击者使用各种方法尝试猜测、破解密码,进而获取未授权的访问权限。这包括使用常见密码、暴力破解、字典攻击等技术手段。
-
社会工程学攻击:社会工程学是指攻击者通过欺骗、伪装或诱导等手段,获取目标用户的敏感信息或迫使其执行某些操作。这可能涉及通过电话、电子邮件、短信等方式进行欺骗。
-
欺骗攻击:攻击者通过虚假信息或伪造身份来欺骗受害者,让其泄露敏感信息、进行非法交易或执行恶意操作。
-
拒绝服务攻击:攻击者通过向目标系统发送大量请求或占用系统资源,导致系统无法正常响应合法用户的请求,从而使系统服务不可用。
-
缓冲区溢出攻击:利用软件漏洞,攻击者向系统输入过多数据,超出程序预留的缓冲区存储范围,导致系统崩溃、执行非预期操作或执行恶意代码。
-
代码注入攻击:攻击者将恶意代码注入到应用程序中,使其在运行时执行恶意操作,例如获取敏感数据、控制系统或破坏系统功能。
-
跨站攻击(XSS):攻击者通过在网页输出中注入恶意脚本,使用户在浏览网页时执行这些脚本,从而获取其敏感信息或窃取身份。
网络攻击方式
配置缺陷
- 默认账户/口令
- 不合理配置
案例:启用匿名 (默认)
- 默认匿名身份:iuser_计算机名称
- 配置给予更高权限
比如下图是windows系统的IIS服务器,出现的问题就是管理员启用了匿名访问,而且默认的账号是Administar(管理员)这个就存在一定的风险
口令破解
社会工程学攻击
(这个两个后面会有专门的文章讲)
网络攻击方式 - 电子欺骗
欺骗攻击( Spoofing) 是指通过伪造源于可信任地址的数据包以使一台机器认证另一台机器的复杂技术
电子欺骗的方式
- ARP 欺骗 ( ARP Spoof)
- DNS 欺骗( DNS Spoof)
- IP 欺骗( IP Spoof)
- TCP会话劫持( TCP hijack)
- 路由欺骗
- ......
典型网络攻击拒绝服务攻击
什么是拒绝服务
- 拒绝服务式攻击(Denial of service),顾名思义就是让被攻击的系统无法正常进行服务的攻击方式。
拒绝服务攻击方式
- 利用系统、协议或服务的漏洞
- 消耗目标系统服务资源能力 (带宽、性能)
典型攻击方式
- SYN FIood
- UDP FIood
- Teardrop
- Ping of death
- Smurf
- Land
- ......
网络攻击方式
溢出攻击
- 缓冲区溢出 (曾经的攻与防的焦点) :心脏滴血、想哭勒索软件等都是利用溢出漏洞进行攻击
- 格式化字符串溢出:攻击者通过操纵格式化字符串的参数,可以读取或写入敏感数据,执行任意代码,甚至导致系统崩溃。
代码注入
-
SQL注入:通过在Web应用程序的输入字段中插入恶意SQL语句,攻击者可以绕过身份验证、访问和修改数据库,获取敏感信息。
-
命令注入:通过在输入字段中插入恶意命令,攻击者可以执行系统命令、获取系统权限,并进行其他恶意操作。
-
XPath注入:向XPath查询中插入恶意代码,攻击者可以绕过身份验证、访问和修改XML数据,获取敏感信息。
- ......
四、后门设置与痕迹清除
后门你的就是我的
后门可以作什么
- 方便下次直接进入
- 监视用户所有行为、隐私
- 完全控制用户主机
后门方式
- 系统后门
- 脚本后门
- 隐藏账号
系统后门操作系统级后门·特洛伊木马程序· Rootkit·设备驱动应用级后门·应用软件模块( Apache model)·被篡改的应用软件
系统后门
操作系统级后门
-
特洛伊木马程序:伪装成合法程序或文件的恶意软件,一旦被用户执行,会在系统中建立隐藏的远程访问通道,使攻击者可以远程控制被感染的系统。
-
Rootkit:一种恶意软件,用于隐藏恶意活动并维持长期访问系统的权限,常常通过修改操作系统或内核组件来隐藏其存在。
-
设备驱动后门:在硬件设备的驱动程序中插入的恶意代码,用于实现对系统进行远程控制或获取敏感信息。
应用级后门
-
Apache模块后门:Apache Web服务器中的恶意模块,用于绕过安全措施、获取敏感信息或进行其他恶意活动。
-
被篡改的应用软件:攻击者对正常的应用软件进行修改,使其在用户不知情的情况下执行恶意操作,如窃取用户信息、传播病毒等。
脚本后门
脚本后门威胁
- 隐蔽性强:因为它们可以隐藏在正常代码中,与合法代码混合在一起,使其不易被察觉。
- 难以查找:因为攻击者通常会绕过安全检测和防护机制,规避常见的安全漏洞检测规则。
脚本后门案例
-
Webshell:Webshell是一种常见的脚本后门类型,它通常以PHP、ASP、JSP等脚本语言写成,并嵌入在受攻击的网页服务器上。攻击者可以通过Webshell执行远程命令、上传/下载文件、操控数据库等操作,而且不易被发现。
-
后台管理页面注入:攻击者在合法网站的后台管理页面中注入恶意代码,例如JavaScript脚本。这样,当管理员访问该页面时,恶意代码会被执行,从而为攻击者提供进一步的权限和控制。
-
代码库中的恶意代码:攻击者可以通过篡改开源代码库或者第三方库来插入脚本后门。这种方式利用了开发者在项目中使用的外部代码,使得攻击者能够直接影响到多个项目和系统。
-
操作系统系统脚本后门:攻击者可以通过修改操作系统的系统脚本,如启动脚本、定时任务脚本等,来实现持久的后门功能。这种方式利用了操作系统的特权级别,使得攻击者能够在系统启动时或者定期执行时进行恶意操作。
账号后门
- 隐藏账号:攻击者通过在系统或应用中创建一个普通用户,但将其属性设置为隐藏状态,使其在用户列表或管理界面中不可见。这样,攻击者可以使用该账号来绕过正常的身份验证和权限控制,进行未经授权的操作。
- 已知密码的正常账号:攻击者可能获取到某个正常账号的密码,然后利用该账号进行潜在的恶意活动。这种情况下,攻击者不需要使用后门,而是直接使用合法的账号和已知的密码来登录并进行攻击。
- 超权限账号:某些系统中会存在超级管理员账号或特殊权限账号,这些账号通常具有更高的权限和特殊功能。攻击者可以尝试获取或破解这些超权限账号的凭据,从而获得对系统或应用的完全控制。
痕迹 - 攻击者的把柄
清除/改写日志
- 日志的清除方法
- 日志的改写工具
删除中间文件
删除创建的用户
日志保护
日志设置
- 尽可能多的信息:在日志中记录尽可能多的相关信息,包括操作时间、用户ID、IP地址、请求参数、错误代码等。这些信息有助于故障排查和安全审计。
- 日志时间:确保日志记录包含准确的时间戳,以便在需要追踪事件发生顺序或分析时间线时使用。
- 日志空间:管理好日志的存储空间,确保足够的存储容量以容纳正常的日志流量,并制定合理的日志滚动策略,避免填满磁盘空间。
日志权限
- 限制对日志文件的访问权限,确保只有授权的人员才能查看和修改日志文件。仅授予必要的权限,以保护敏感信息的机密性和完整性。
日志存储
- 本地路径及备份方式:对于本地存储,选择合适的路径来保存日志文件,确保只有授权用户可以访问。此外,定期进行日志备份,并将备份存储在安全的位置,以防止数据丢失。
- 网络存储 (日志服务器):考虑使用专门的日志服务器或网络存储来集中管理日志。这样可以提高安全性和可扩展性,并使日志更容易集中审计和分析。
日志分析重点
- 日期时间 (确定攻击的时间)
- 源IP (确定攻击者IP)
- 请求方法 (部分情况下要关注post操作)
- 请求链接 (查找链接中的特殊字符串)
- 状态代码 (了解操作的结果
日志分析
关注超长的记录
- http协议对URL长度没有限制
- 一般网站正常情况下不需要太长的URL
关注记录中的非正常编码
- 例如:红色代码蠕虫攻击会形成如下记录
关注日志请求链接中的关键字
-
"cmd":该关键字通常用于执行操作系统的命令行。在日志请求链接中出现 "cmd" 可能暗示着对操作系统进行命令执行的尝试。对于此类请求,建议对其进行审计和验证,以确保只有合法的用户可以执行相关操作,并防止潜在的安全威胁。
-
"xp_cmdshell":该关键字通常用于执行操作系统命令的扩展存储过程。在日志请求链接中出现 "xp_cmdshell" 可能意味着试图执行扩展存储过程来执行操作系统命令。由于这可能导致系统的安全问题,应该限制对该扩展存储过程的访问,并确保只有经过授权的用户能够执行相关操作。
-
"Post":该关键字通常表示 HTTP 请求中的 POST 方法。在日志请求链接中出现 "Post" 可能表示一个使用 POST 方法的请求。对于此类请求,需要确保请求的合法性并验证参数的正确性,以防止潜在的安全漏洞和攻击。
-
"select":该关键字通常用于数据库查询语句。在日志请求链接中出现 "select" 可能暗示着对数据库的查询请求。对于此类请求,需要确保查询操作的合法性,并采取适当的访问控制措施,以防止未经授权的数据泄露或滥用。
-
"exec":该关键字通常用于执行特定操作或调用存储过程。在日志请求链接中出现 "exec" 可能意味着试图执行某些操作或调用特定的存储过程。为了确保系统的安全性,需要对这类请求进行验证和控制,以防止潜在的安全威胁。
-
"delete":该关键字通常用于数据库操作中的删除记录操作。在日志请求链接中出现 "delete" 可能意味着试图对数据库中的数据进行删除操作。为了防止数据丢失或滥用,应该限制对删除操作的访问,并确保只有经过授权的用户可以执行相关操作。
-
"update":该关键字通常用于数据库操作中的更新记录操作。在日志请求链接中出现 "update" 可能意味着试图对数据库中的数据进行更新操作。对于此类请求,需要确保更新操作的合法性,并采取适当的访问控制措施,以防止非授权用户对数据进行修改。
-
"insert":该关键字通常用于数据库操作中的插入记录操作。在日志请求链接中出现 "insert" 可能意味着试图向数据库中插入新的记录。为了确保数据完整性和安全性,应该对插入操作进行合法性验证,并限制对插入操作的访问权限。
-
......
相关文章:

6.1 安全漏洞与网络攻击
数据参考:CISP官方 目录 安全漏洞及产生原因信息收集与分析网络攻击实施后门设置与痕迹清除 一、安全漏洞及产生原因 什么是安全漏洞 安全漏洞也称脆弱性,是计算机系统存在的缺陷 漏洞的形式 安全漏洞以不同形式存在漏洞数量逐年递增 漏洞产生的…...

STM32--EXTI外部中断
前文回顾---STM32--GPIO 相关回顾--有关中断系统简介 目录 STM32中断 NVIC EXTI外部中断 AFIO EXTI框图 旋转编码器简介 对射式红外传感器工程 代码: 旋转编码器工程 代码: STM32中断 先说一下基本原理: 1.中断请求发生:…...

Python + Selenium 处理浏览器Cookie
工作中遇到这么一个场景:自动化测试登录的时候需要输入动态验证码,由于某些原因,需要从一个已登录的机器上,复制cookie过来,到自动化这边绕过登录。 浏览器的F12里复制出来的cookie内容是文本格式的: uui…...

文件的导入与导出
文章目录 一、需求二、分析1. Excel 表格数据导出2. Excel 表格数据导入一、需求 在我们日常开发中,会有文件的导入导出的需求,如何在 vue 项目中写导入导出功能呢 二、分析 以 Excel 表格数据导出为例 1. Excel 表格数据导出 调用接口将返回的数据进行 Blob 转换,附: 接…...

[C++] string类的介绍与构造的模拟实现,进来看吧,里面有空调
文章目录 1、string类的出现1.1 C语言中的字符串 2、标准库中的string类2.1 string类 3、string类的常见接口说明及模拟实现3.1 string的常见构造3.2 string的构造函数3.3 string的拷贝构造3.4 string的赋值构造 4、完整代码 1、string类的出现 1.1 C语言中的字符串 C语言中&…...

【Apollo】赋能移动性:阿波罗自动驾驶系统的影响
前言 Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。 开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、…...

Camunda 7.x 系列【19】表达式语言
有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 概述2. 变量与函数2.1 流程变量2.2 内置环境变量2.3 Spring、CDI Bean2.4 内置上下文函数…...

详解RFC 793文档-4
3.7 数据通信 一旦连接建立,数据就通过交换数据段进行通信。由于错误(校验和错误)或网络拥塞可能导致数据段丢失,TCP使用重传(超时后)来确保每个段的交付。由于网络或TCP重传,可能会到达重复的段。对于重复段,TCP对段中的SEQ和ACK号执行某些检测,以验证它们的可接受性…...

ubuntu16编译内核源码并替换
文章目录 1.找到和ubuntu内核版本相同的内核源码包2.下载下面三个文件3.相关步骤4.安装编译环境软件参考: 1.找到和ubuntu内核版本相同的内核源码包 4.15.0-112.113 : linux package : Ubuntu (launchpad.net) 2.下载下面三个文件 3.相关步骤 uname -r #查看内核…...

AI 绘画Stable Diffusion 研究(九)sd图生图功能详解-老照片高清修复放大
大家好,我是风雨无阻。 通过前面几篇文章的介绍,相信各位小伙伴,对 Stable Diffusion 这款强大的AI 绘图系统有了全新的认知。我们见识到了借助 Stable Diffusion的文生图功能,利用简单的几个单词,就可以生成完美的图片…...

Linux系统安装Google Chrome
1.进入谷歌浏览器官网 Google Chrome - Download the Fast, Secure Browser from GoogleGet more done with the new Google Chrome. A more simple, secure, and faster web browser than ever, with Google’s smarts built-in. Download now.http://www.google.cn/intl/en_…...

带你了解SpringBoot支持的复杂参数--自定义对象参数-自动封装
😀前言 本篇博文是关于SpringBoot 在响应客户端请求时支持的复杂参数和自定义对象参数,希望您能够喜欢😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章…...

Raspberry Pi Pico RP2040制作低成本FPGA JTAG工具
目录 1 准备工作和前提条件 1.1 Raspberry Pi Pico RP2040板子一个 1.2 xvcPico.uf2固件 1.3 Vivado USB驱动 2 操作指南 2.1 按住Raspberry Pi Pico开发板的BOOTSEL按键,再接上USB接口到电脑 2.2 刷入固件 2.3 Vivado USB 驱动 2.3.1 打开Zadig驱动工具 2.3…...

【工具】Python从临时邮箱获取验证码
安装好依赖库之后代码可直接运行, captcha re.search(r您的验证码为: \*(\w)\*, response.json()[body][html])正则表达式部分改成自己的。 import random import requests import re from faker import Fakerdomain "https://api.mail.cx/api/v1" # 临…...

时序预测 | MATLAB实现基于GRU门控循环单元的时间序列预测-递归预测未来(多指标评价)
时序预测 | MATLAB实现基于GRU门控循环单元的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于GRU门控循环单元的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 1.Matlab实现GRU门控循环单元时间序列预测未…...

在本地搭建WAMP服务器并通过端口实现局域网访问(无需公网IP)
文章目录 前言1.Wamp服务器搭建1.1 Wamp下载和安装1.2 Wamp网页测试 2. Cpolar内网穿透的安装和注册2.1 本地网页发布2.2 Cpolar云端设置2.3 Cpolar本地设置 3. 公网访问测试4. 结语 前言 软件技术的发展日新月异,各种能方便我们生活、工作和娱乐的新软件层出不穷&a…...

Redis之删除策略
文章目录 前言一、过期数据二、数据删除策略2.1定时删除2.2惰性删除2.3 定期删除2.4 删除策略比对 三、逐出算法3.1影响数据逐出的相关配置 总结 前言 Redis的常用删除策略 一、过期数据 Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可…...

SpringBoot的配置文件以及日志设置
在使用SpringBoot开发的过程中我们通常会用到配置文件来设置配置信息 以及使用日志来进行记录我们的操作,方便我们对错误的定位 配置文件的作用在于:设置端口,设置数据库连接信息,设置日志等等 在SpringBoot中,配置…...

【Java集合框架面试题(30道)】
文章目录 Java集合框架面试题(30道)引言1.说说有哪些常见集合? List2.ArrayList和LinkedList有什么区别?3.ArrayList的扩容机制了解吗?4.ArrayList怎么序列化的知道吗?为什么用transient修饰数组?5.快速失败࿰…...

Android 组件
TextView 文本框 用于显示文本的一个控件。文本的字体尺寸单位为 sp 。sp: scaled pixels(放大像素). 主要用于字体显示。 文本常用属性 属性名说明id为TextView设置一个组件id,根据id,我们可以在Java代码中通过 findViewById()的方法获取到该对象&…...

kotlin的数据类型和类型转换
在 Kotlin 中,数据类型是变量或表达式的属性,确定了存储的数据类型以及可以在该数据上执行的操作。Kotlin 支持与 Java 类似的基本数据类型,但还引入了一些增强的数据类型和类型安全的特性。 一,基本数据类型 Byte:8…...

常见架构类型
目录 1.单机架构 2.应用数据分离架构 3.读写分离架构 4.冷热分离架构 5.垂直分库架构 6.微服务架构 7.容器编排架构 1.单机架构 单机架构是简单的将应用服务和数据库服务部署到同一台机器上。 缺点:存在很大的性能限制。 2.应用数据分离架构 引入负载均衡&a…...

搭建Web服务器并用cpolar发布至公网访问
本地电脑搭建Web服务器并用cpolar发布至公网访问 文章目录 本地电脑搭建Web服务器并用cpolar发布至公网访问前言1. 首先在电脑安装PHPStudy、WordPress、cpolar2. 安装cpolar,进入Web-UI界面3. 安装wordpress4. 进入wordpress网页安装程序5. 利用cpolar建立的内网穿…...

NanoPi NEO移植LVGL8.3.5到1.69寸ST7789V屏幕
移植前准备 移植好fbtft屏幕驱动 参考链接:友善之臂NanoPi NEO利用fbtft驱动点亮1.69寸ST7789V2屏幕 获取源码 名称地址描述lvglhttps://github.com/lvgl/lvgl.gitlvgl-8.3.5lv_drivershttps://github.com/lvgl/lv_drivers.gitlv_drivers-6.1.1 创建工程目录 创…...

阿里云服务区ECS,申请免费的服务器之后,如何使用xshell 登陆,找不到匹配的host key 算法
目录 1 问题2 解决 1 问题 当在阿里云免费领取服务器之后,使用xshell 登陆不上,提示 找不到匹配的host key 算法 或者 找不到匹配的keyexchange算法 咋解决 2 解决 在在服务器端配置文件:/etc/ssh/sshd_config # 在行尾增加",ecdh…...

【CTF-web】备份是个好习惯(查找备份文件、双写绕过、md5加密绕过)
题目链接:https://ctf.bugku.com/challenges/detail/id/83.html 经过扫描可以找到index.php.bak备份文件,下载下来后打开发现是index.php的原代码,如下图所示。 由代码可知我们要绕过md5加密,两数如果满足科学计数法的形式的话&a…...

C#和Java的大端位和小端位的问题
C#代码里就是小端序,Java代码里就是大端序, 大端位:big endian,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,也叫高尾端 小端位:little endian,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存…...

如何在 iOS 上安装并使用 ONLYOFFICE 文档
借助 iOS 版文档应用,您可在移动端设备上访问存储于 ONLYOFFICE 账户中的文件,查看和编辑现有文本文档、电子表格和演示文稿,创建新文档并对其进行整理,以及连接第三方云存储服务。您可与其他门户网站用户协作编辑文档,…...

【AI】如何用AI生成XMind思维导图
哈喽,大家好,我是木头左,物联网搬砖工一名,致力于为大家淘出更多好用的AI工具! 背景 随着人工智能技术的不断发展,越来越多的应用场景开始涉及到AI技术。在办公软件领域,XMind是一款非常受欢迎…...

k8s问题汇总
作者前言 本文章为记录使用k8s遇到的问题和解决方法,文章持续更新中… 目录 作者前言正常配置ingress,但是访问错误添加工作节点报错安装k8s报错使用kubectl命令报错container没有运行安装会出现kubelet异常,无法识别删除k8s集群访问dashboa…...