自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL注入的其他攻击思路方法与Python脚本设计思路

start . cookies } ") print(f"是否存在SQL注入漏洞 : {start . sqli_scan_res } ") print(f"SQL注入漏洞类型是 : {start . sqli_vul_type } ") print(f"目标数据库类型是 : {start . cookies } ") print(f"是否存在SQL注入漏洞 : {start . sqli_scan_res } ") print(f"SQL注入漏洞类型是 : {

2024-04-10 22:42:11 1101

原创 SQL注入原理与信息获取及常规攻击思路靶场实现

很早的时候就写了,权当备份吧。

2024-04-10 22:39:18 650

原创 Python编程-使用logging管理程序日志

自动化运维时时常用到,故抽时间专门总结Python的logging模块是Python内置的日志记录工具,用于在程序中实现灵活的日志记录功能。使用logging模块可以记录程序运行时的各种信息,如调试信息、警告、错误等,以便在需要时进行排查和分析。需要注意的是,logging允许我们自定义日志级别,但是最好不要这样操作,有可能导致日志级别出现混乱,加大维护与管理的难度。

2024-04-06 01:21:00 334

原创 Web安全-浏览器安全策略及跨站脚本攻击与请求伪造漏洞原理

同源策略(Same Origin Policy)是一个重要的 Web 安全策略,用于限制一个网页文档或脚本如何与来自另一个源(域、协议或端口)网页进行交互。同源定义:两个 URL 的协议、域名和端口都相同,则这两个 URL 同源。限制:同源策略限制来自不同源的文档或脚本如何进行交互。跨域的 JavaScript 脚本不能访问包含该脚本的文档的 DOM。跨域的 XMLHttpRequest 和 Fetch 请求会受到限制。

2024-04-05 16:15:57 1186

原创 Linux运维-SHELL编程之正则表达式与流编辑处理器

正则表达式是一种用来描述字符序列的强大工具,通常用于字符串的匹配、搜索和替换操作。它由普通字符(例如字母、数字)和特殊字符(称为元字符)组成,通过这些元字符可以构建出具有特定模式的字符串。正则表达式在文本处理、数据提取、验证输入等方面都有广泛的应用。

2024-04-04 22:41:01 877

原创 PHP远程命令执行与代码执行原理利用与常见绕过总结

相较于SQL注入漏洞,远程命令执行更加少见。

2024-03-31 21:04:31 661

原创 Python编程-并发编程基础梳理与高级特性案例讲解

互斥锁(Mutex)是一种用于多线程编程的同步机制,用于确保在任何时刻只有一个线程可以访问共享资源,从而避免多个线程同时修改共享资源而导致的数据竞争和不一致性问题。线程首先尝试获取互斥锁。如果当前没有其他线程持有该锁,则获取成功,线程可以进入临界区(访问共享资源)。如果有其他线程已经持有该锁,则获取失败,线程进入阻塞状态等待。当线程无法获取互斥锁时,它会进入阻塞状态,等待互斥锁的释放。在大多数情况下,线程在阻塞状态会暂时放弃 CPU 时间片,直到互斥锁被释放并且线程重新获得调度才能继续执行。

2024-03-31 20:55:25 799

原创 Java编程-内部类使用案例与注解使用案例

Override实质上是借助静态成员实现的枚举体。

2024-03-06 23:30:34 1025

原创 CPP编程-CPP11中的内存管理策略模型与名称空间管理探幽(时隔一年,再谈C++抽象内存模型)

private:public:在头文件中可以使用include引入其他所需要的库或头文件,但是引入的库文件必须是与当前的编译单元相同的编译器编译出的,因为不同的编译器实现同样的代码段可能结果是不一样的注意宏编程结构,其表示检测该头文件是否被定义,用于在第一次处理时进行引入是Clion自动生成的头文件名表示,更常见的是头文件名_H_注意不要引入头文件对应的编译单元(即xxx.cpp文件),避免造成多重定义使用尖括号

2024-03-06 21:53:38 826 1

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

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

2024-02-26 23:53:24 335

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

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

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

原创 Linux运维-Docker的基础知识与服务配置使用案例

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

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

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

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

2024-02-06 13:59:40 1420

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

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

2024-02-06 13:53:27 1418

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

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

2024-01-30 11:52:23 1217

原创 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 637

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

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

2024-01-28 01:03:21 1017

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

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

2024-01-24 00:03:46 427

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

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

2024-01-22 14:46:19 855

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

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

2024-01-21 15:23:21 1100

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

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

2024-01-21 00:58:41 1286

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

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

2024-01-17 15:11:20 367

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

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

2023-12-31 16:05:20 913

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

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

2023-12-30 01:43:22 787

原创 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 1125

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

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

2023-12-24 00:10:02 1052

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

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

2023-12-24 00:07:23 866

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

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

2023-12-22 05:24:03 730

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

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

2023-12-22 05:22:07 502

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

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

2023-11-28 23:02:45 330

原创 Python编程-深度剖析迭代器与生成器机制和CPython代码实现

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

2023-11-28 22:44:54 872

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

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

2023-11-24 23:55:42 1084

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

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

2023-11-22 21:56:16 2902

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

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

2023-11-21 19:29:32 48

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

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

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

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

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

2023-07-25 18:27:13 467

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

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

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

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

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

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

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

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

2023-07-04 23:01:10 1803

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

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

2023-05-31 17:00:28 144

空空如也

空空如也

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

TA关注的人

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