自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 Java核心技术卷梳理补充-类中字段初始化与类的加载顺序问题

如果写一个类时没有编写构造器,就会为你提供一个无参数构造器。这个构造器将所有的实例字段设置为默认值。于是,实例字段中的数值型数据设置为0,布尔型数据设置为false,所有对象变量将设置为null。

2024-02-26 23:53:24 262

原创 Python编程-二万字浅谈装饰器原理与装饰器设计模式和函数式编程案例讲解

函数式编程(Functional Programming)是一种编程范式,它将计算视为数学函数的计算,并避免了状态改变以及可变数据。在函数式编程中,函数被视为一等公民,意味着它们可以像其他数据类型一样被传递、返回和操作。纯函数(Pure Functions):纯函数指的是函数的输出仅由输入决定,不会对外部状态产生影响,也不依赖外部状态。相同的输入总是产生相同的输出,这种特性使得纯函数易于理解、测试和并行化。不可变性(Immutability):在函数式编程中,数据是不可变的,即一旦创建就不可更改。

2024-02-11 09:11:58 1254 1

原创 Linux操作系统运维-Docker的基础知识梳理总结

Docker 使用一种称为写时复制(Copy-On-Write)的技术,使得容器在运行时可以修改其文件系统,但在容器停止后,对文件系统的修改将被保存在容器的镜像中。这个可写层是容器特有的,而镜像的只读层是共享的。是一个非常强大且潜在危险的选项,它赋予了容器超级用户的权限,使得容器内的进程具有对主机上所有设备的访问权限。Docker镜像是Docker容器的基础构建块,它是一个轻量级、独立、可执行的软件包,其中包含运行一个应用所需的所有内容,包括代码、运行时、库、环境变量和配置文件等。

2024-02-06 14:03:02 2619 1

原创 渗透测试-信息打点与架构分析细节梳理

使用React、Angular、Vue等前端框架进行页面构建。前端框架可以帮助组织和管理页面的结构,提高开发效率,同时提供更好的用户交互体验。使用Node.js、Django、Ruby on Rails等后端框架。后端框架用于处理业务逻辑、数据库交互和服务器端的功能,提供API供前端调用。使用MySQL作为关系型数据库,或者MongoDB作为非关系型数据库。数据库的选择取决于数据结构和访问模式,关系型数据库适用于复杂的关联数据,而非关系型数据库适用于文档型数据存储。

2024-02-06 13:59:40 1379

原创 MySQL数据库基础与SELECT语句使用梳理

SQL(Structured Query Language)是一种专门用于管理关系型数据库系统的编程语言。关系型数据库:SQL主要用于关系型数据库管理系统(RDBMS),如MySQL、Oracle、SQL Server、PostgreSQL和SQLite。这些数据库使用表格结构来存储数据,以及表之间的关联关系。结构化查询:SQL是一种结构化查询语言,它使用一种特定的语法来编写数据库查询。这种结构化的特性使用户能够以一种一致和可预测的方式与数据库交互。数据查询:SQL用于从数据库中检索数据。

2024-02-06 13:53:27 1386

原创 Python编程-使用urllib进行网络爬虫常用内容梳理

HTTPResponse常见的属性与方法statusversionreasonmsgheadersgeturl()info()getcode()urlopen的参数使用databytes类型的构造有两个参数,一个是字符串,一个是编码方式(可选)我们对于上述代码可以在URLError其他参数均与ca证书相关可待使用时进行探讨,其中的cadefault已经弃用。

2024-01-30 11:52:23 1177

原创 SHELL编程-Linux自动化运维基础(循环,数组与函数)

普通数组定义的两种方式echo ${array_var[2]} # 将ls命令的结果保存在数组中注意:直接输出数组名将会输出数组的第一个值,即索引0位置的值,输出数组的所有值可以使用使用变量初始化数组/bin/bash声明索引位的数组/bin/bash逐个初始化数组(同样满足上面的索引规则)1 2 3使用declare输出当前环境中的所有数组....定义与初始化/bin/bash获取值与索引/bin/bashecho ${array_var[*]} # 获取值。

2024-01-30 11:51:42 626

原创 Linux操作系统运维-用户与用户组管理

sudoers文件是一个用于配置sudo命令的配置文件,定义了哪些用户、哪些主机以及在执行sudo命令时允许执行哪些命令。这个文件通常位于。编辑sudoers文件时应使用visudo命令,因为它会在保存文件时进行语法检查,防止可能导致系统安全问题的错误,其中规则对应的以某身份执行命令指的是使用sudo或su命令以其他用户身份执行命令允许user在指定的host上以的身份执行特定的command。允许group的成员在指定的host上以的身份执行特定的command。允许user在指定的host上以。

2024-01-28 01:03:21 996

原创 Pygame之纯Python实现你好2024效果

对于某些指JavaScript与前端实现为Python实现你好2024效果的营销号实在看不下去了。无底线营销,还要私信拿源码,hhh。运行效果如图,并且彩色方块会随机下落,其他过于复杂效果不想浪费时间图一乐。运行前安装pygame。

2024-01-24 00:03:46 406

原创 SHELL编程-Linux自动化运维基础(变量与条件控制语法)

预定义变量是在Shell脚本中由Shell环境提前定义好的一些特殊变量,用于存储系统信息、脚本运行时的状态等。这些变量在脚本执行期间自动设置,可以用于获取有关执行环境的信息或控制脚本的行为(其中$1到$9变量含义示例$0脚本或命令本身的名称如果脚本名为,则$0是$1$2, …传递给脚本或命令的位置参数,9之后的需要特殊定义$1表示第一个参数,$2表示第二个参数,以此类推$#传递给脚本或命令的位置参数的总数,或变量的长度${#变量}如果有三个参数,$#是 3$*所有位置参数的单个字符串如果有参数为。

2024-01-22 14:46:19 849

原创 Python编程-利用缓存管理实现程序提速

functools模块中的lru_cache(Least Recently Used Cache)是 Python 中提供的一种缓存装饰器,用于缓存函数的结果。LRU Cache是一种缓存策略,它会保留最近使用的数据,而淘汰最长时间没有被使用的数据。使用lru_cache可以有效地提高函数的性能,特别是对于那些计算开销较大、但结果不经常改变的函数。以下是lru_cache被设计为一个装饰器,可以应用于函数。通过在函数定义之前使用@lru_cache,可以启用缓存功能。可以通过maxsize。

2024-01-21 15:23:21 1080

原创 Web安全-CTF中的常见命令总结

cat命令用于查看文件内容,并且将文件内容打印到标准输出流,并且在不跟上文件或跟上如上所示,输入123test,回车后将打印此内容,并且换行继续等待输入-n。

2024-01-21 00:58:41 1205

原创 Python编程-自定义模拟容器类型与自定义类型对象排序

从上述不难看出,实现模拟容器类型本质上还是实现的对应协议,只要协议满足了,那么它就是一个模拟容器类型,我们并不关心其本质上是不是完全一致,在 Python 中,重要的是对象的行为,而不是其类型。如果一个对象像鸭子一样走路、游泳、嘎嘎叫,那么它就是鸭子。这意味着你可以通过对象的行为来判断它是否符合某个接口。那么对应的,我们的自定义类型也可以实现多种协议来达到我们想要的效果,例如实现自定义类型对象的排序,我们也可以实现它们应有的基础方法(即实现协议)

2024-01-17 15:11:20 355

原创 Python编程-面向对象基础与入门到实践一书的内容拓展

通过编程,模拟现实生活中的事物编程,叫做面向对象编程,此过程也叫做实例化编程。

2023-12-31 16:05:20 898

原创 Java核心技术卷接口的实现与继承多态知识梳理总结

注意:接口的访问控制符只能是包默认(default)和public两种类型使用interface关键字来定义接口。接口可以包含方法签名、常量(静态 final 域),但不能包含字段(成员变量)或实现方法的代码块,并且接口中的所有方法都是自动视为public的,故不需要书写public,并且接口中的常量会被默认置为,并且必须进行初始化操作// 接口方法的签名 不需要实现// 接口中的常量 隐式声明为 public static final。

2023-12-30 01:43:22 773

原创 【Python编程-二万字长文浅析-使用Type Hints与Typing模块提高代码可维护性

Type Hints 是 Python 3.5 引入的一项功能,它允许开发者在函数参数、返回值、变量等地方添加类型提示信息。这并不是强制性的类型检查,而是一种在代码中提供额外信息的机制,用于静态分析、文档生成和提高代码可读性函数参数和返回值的类型提示在这个例子中,x: int表示参数x的类型是整数,y: int表示参数y的类型是整数,-> int表示函数返回值的类型是整数。变量的类型提示这里的total: int表示变量total的类型是整数。类型注解的灵活性。

2023-12-30 01:40:45 1101

原创 JVM入门到入土-Java虚拟机寄存器指令集与栈指令集

在 Java 虚拟机的指令集中,大多数的指令都包含了其所操作的数据类型信息。例如,iload指令用于从局部变量表中加载int类型的数据到操作数栈中,而ad指加载的则是float类型的数据。这两个指令的操作可能会是由同一段代码来实现的,但它们必须拥有各自独立的操作码。i代表对int型的数据操作,l代表longs代表shortb代表bytec代表charf代表floatd代表doublea代表reference。也有一些指令的助记符没有明确用字母指明数据类型,例如。

2023-12-24 00:10:02 1035

原创 JVM入门到入土-Java虚拟机概述与JAVA代码执行过程

虚拟机(Virtual Machine,VM)是一种软件或硬件实现的仿真系统,它可以在一个计算环境中模拟另一个计算环境。虚拟机的目的是提供一个隔离的、独立的运行环境,使得应用程序或操作系统可以在其中运行,而不受底层硬件或操作系统的影响。在物理层面和软件层面,虚拟机有不同的概念和实现方式。

2023-12-24 00:07:23 833

原创 Java的继承与多态/基于良好C++基础光速转行(滑稽)

抽象类(Abstract Class)是 Java 中一种特殊的类,它不能被实例化,主要用于作为其他类的基类。抽象类可以包含抽象方法和具体方法。抽象方法是一种没有具体实现的方法,它需要在子类中被具体实现。类似C++的含纯虚函数类使用abstract关键字定义抽象类,同时可以包含抽象方法和具体方法。抽象方法用abstract关键字声明,不包含方法体。// 抽象方法,没有方法体,需要在子类中实现// 具体方法,可以在抽象类中有具体实现。

2023-12-22 05:24:03 720

原创 Java泛型数组ArrayList使用简明教程

在Java中,ArrayList是java.util包中提供的一个常用的动态数组实现,它实现了List接口。下面是ArrayList。

2023-12-22 05:22:07 487

原创 基于小黑子与YS的PHP反序列化漏洞原理讲解&CTF习题分析与解答

PHP的序列化(Serialization)和反序列化(Unserialization)是一种将数据结构转换成字符串以便存储或传输,然后再将这个字符串还原成原始数据结构的过程。这在应用程序中经常用于数据持久化、缓存、跨网络通信等场景。PHP提供了内置的序列化和反序列化函数,分别是serialize和。

2023-11-28 23:02:45 316

原创 Python编程-万字长文深度剖析迭代器与生成器+迭代底层代码审计

在 Python 中,使用了yield的函数被称为生成器(generator)。yield是一个关键字,用于定义生成器函数,生成器函数是一种特殊的函数,可以在迭代过程中逐步产生值,而不是一次性返回所有结果。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。当在生成器函数中使用yield语句时,函数的执行将会暂停,并将yield后面的表达式作为当前迭代的值返回。然后,每次调用生成器的next()方法或使用for。

2023-11-28 22:44:54 823

原创 Python编程-Python文件处理与自定义异常抛出及警告生成

在 Python 中,异常是程序运行过程中可能遇到的错误或异常情况的表示。当发生异常时,Python 会抛出一个异常对象。异常对象是异常类(Exception class)的实例,它包含有关异常的详细信息,如异常的类型、消息等。异常描述所有内建异常的基类。Exception几乎所有标准异常的基类。TypeError当一个操作或函数应用于不适当类型的对象时引发的异常。ValueError当一个操作或函数接收到一个正确类型但是不合适的值时引发的异常。NameError当访问一个未定义的变量时引发的异常。

2023-11-24 23:55:42 1006

原创 内网主动信息收集之使用fscan进行漏洞扫描

下载链接:https://github.com/shadow1ng/fscan一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。

2023-11-22 21:56:16 1386

原创 DC-2靶场机渗透测试总结与全流程思路

靶机下载地址:http://www.five86.com/downloads/DC-2.zip。

2023-11-21 19:29:32 31

原创 DC-1靶场机渗透测试总结与全流程思路+后期复盘

在此靶场中,使用了metaspolit的基础操作,但是并未涉及到木马生成与上传然后getshell,然后我们获取到了CMS的关键配置文件,然后对靶机中的passwdCMS的信息搜集与利用,漏洞披露,关键配置文件目标上存在的用户信息,用户权限详情网站的后台管理页面探测,网站密码的生成策略数据库入侵的操作,对于加密密码的处理对于当前用户的权限提升(非root)

2023-11-20 22:13:27 184 1

原创 快速上手批处理命令(文末附BAT to EXE Converter与常见DOS指令手册免费下载连接)

dos指令是指的微软自带的一种开发语言脚本,不需要任何环境配置即可在win下运行,其文件运行依赖于cmd.exe,并且对命令中的大小写字符不敏感。批处理程序的扩展名是.bat,而dos命令又分为用户安装的外部命令和系统自带的内部命令。

2023-07-25 18:27:13 408

原创 计算机网络-网络分层与物理层学习笔记

传输媒体不能够和信道直接划等号,例如:单向通信时的传输媒体中只有一条信道,双向交替/同时的传输媒体有两个信道,并且使用信道复用技术时,一体条传输媒体还可以有多个信道。在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上层提供服务,而物理层之上的层级要实现自身的协议,必须要使用他们的下一层所提供的服务(即协议是水平的,服务是垂直的)不能无限制提高信息传输速率,因为信道的极限信息传输速率还受限于实际的信号在信道中传输的信噪比(信道中的噪声也会影响对码元的识别,噪声功率相对于信号功率越大,影响也就更大)

2023-07-07 15:58:44 83 1

原创 逆向工程核心原理-逆向基础(基于Ollydbg201与Hello World的逆向调试)

我们编写的源码经过编译转化为exe可执行文件,而exe则是二进制文件,在分析二进制文件时,为了更好地理解它,我们通过调试器进行反汇编处理,将二进制代码转化为汇编语言指令代码。

2023-07-06 15:10:11 951 1

原创 Web安全-文件上传漏洞(常见上传解析漏洞,常见检测方式绕过)

Webshell是一种利用Web服务器的漏洞或弱点,通过远程上传恶意代码到服务器上(实质上是一种网页后门),并执行命令或控制服务器的一种攻击方式。在上传过后,该文件与网站服务器web目录下的正常网页文件混在一起,然后就可以通过该文件得到一个命令执行环境攻击者可以通过Webshell获取服务器的高权限,进而进行非法操作,例如修改服务器文件、数据库操作、执行系统命令等。Webshell具有隐蔽性高、操作方便等特点,常被用于非法攻击、入侵行为或用于进行系统安全评估和渗透测试。

2023-07-04 23:01:10 1346

原创 C++编程-面向对象基础 (内联,引用,构造,析构,深拷贝与浅拷贝,静态,友元,类组合,常类型)

int data;return 0;如上述代码,我们在类外定义具有外部链接性在类的定义中使用函数的原型声明注意:我们在外部若有同名函数在当前翻译单元中,使用int data;return 0;在这种定义下,我们使用无链接性的内联函数定义成员函数,并且使用以下格式:并不是很推荐这种定义方式,但是其运行速度要更快,占用内存较大,不适合长代码块内联。

2023-05-31 17:00:28 134

原创 C++编程-内存模型 (内存分区,作用域与链接性,自动存储持续性,静态存储持续性,动态存储持续性,线程存储持续性)

一文详解C++编程-内存模型 (内存分区,作用域与链接性,自动存储持续性,静态存储持续性,动态存储持续性,线程存储持续性)

2023-05-28 15:03:53 209

原创 计算机网络第一节(网络概述,交换方式,性能指标,附对应拓扑图)

计算机网络的精确定义并未统一,但是有最简单定义计算机网络的简单定义:一些互相连接的,自治的计算机的集合互相连接:计算机之间可以通过有线或无线方式进行数据通信自治:指独立的计算机,有自己的硬件和软件,可以单独运行使用集合:指至少需要两台计算机这里需要注意的是如图所示的拓扑图,是大部分学校机房的部分截取图,它并不是计算机网络,因为终端机只有输入输出的功能,不满足自治的条件计算机网络主要由一些通用的,可编程的硬件连接而成,并且这些硬件并非专门用来实现一特一目的,可以用来传递不同类型的数据,并且。

2023-05-17 23:17:28 514

原创 Web漏洞-子域名接管漏洞原理及其复现,附加GIthub页面建立教程

子域名接管漏洞,一个原理很简单,仅仅只是配置错误,但是可操作性很强的漏洞。

2023-05-11 23:33:24 620 1

原创 PHP魔术常量与超级全局变量学习笔记

但是很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才能使用,或者动态加载后,或者在编译时已经包括进去了。有八个魔术常量它们的值随着它们在代码中的位置改变而改变,并且他们不区分大小写。超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。需要注意的是,该变量可以获取报文中各个头部的信息,以供脚本进行使用,下面附一张来自菜鸟教程的表格,需要注意的是,这里的单引号是不能用双引号代替的,否则将产生歧义。二者简单使用如上述示例。的值的,但是我们通常。

2023-05-11 19:49:28 72

原创 浅析PHP的命名空间与PHP命名空间的动态特性

使用namespace// 在同一文件中定义第一个名称空间 // code namespace test2;// 在同一文件中定义第二个名称空间 // code?如上我们定义名称空间,并且在该文件中的下一个名称空间声明之前所有内容都属于该名称空间,同时,我们可以在同一文件中声明多个名称空间// 在同一文件中定义第一个名称空间 // code } namespace test2 {// 在同一文件中定义第二个名称空间 // code }?注意:多个命名空间建立时语法应一致,只能使用大括号或。

2023-05-11 19:47:31 224 1

原创 PHP快速入门(运行原理,基本操作,数组处理)

array_pop(原数组)用于获取并返回最后一个数组元素,并且将数组的长度减一,若数组为空将返回null?

2023-05-04 23:09:24 260

原创 web安全-浏览器安全策略摘要总结 (渲染方式 沙盒策略 同源策略 内容安全策略-CSP指令 访问授权)

web安全-浏览器安全策略摘要总结 (渲染方式 沙盒策略 同源策略 内容安全策略-CSP指令 访问授权)

2023-05-02 01:50:29 241

原创 Python编程-从0到1基础知识串讲(变量,分支循环,可变参数问题,传递字典,列表,模块创建,模块引用)

python作为一门弱类型语言,对于变量的处理是自动的,对于同一变量名修改时不会限制修改类型,它只有作为。Python编程-从0到1基础知识串讲(变量,分支循环,可变参数问题,传递字典,列表,模块创建,模块引用

2023-04-21 21:59:28 278 1

原创 Kali-linux新手教程,分辨率推荐,中文配置,中文输入法,VScode配置,root配置

kali-Linux入门教程

2023-04-09 02:02:27 1604 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除