最新发布第2页
排序
浅谈RVO与NRVO
RVO 和 NRVORVO(Return Value Optimization,返回值优化)和 NRVO(Named Return Value Optimization,命名返回值优化)是编译器进行的优化技术,旨在减少函数返回值的拷贝或移动操作。它们是 ...
GoF 23种经典的设计模式——单例模式
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。它确保一个类只有一个实...
SeedLab——Spectre Attack Lab
IntroductionSpectre AttackSpectre攻击是一种基于侧信道漏洞的攻击方法,它于2018年首次公开披露。该攻击利用了现代处理器中存在的一种设计缺陷,使得恶意程序可以访问其本不应该具备权限的内...
计算机通信与网络学习笔记-chapter4、5
第四、五章网络层知识点ipv4为32位,ipv6为128位有限广播地址:有限广播地址也称为本地广播地址,TCP/IP协议规定32位全为1的IP地址(255.255.255.255)用于本网广播直接广播地址:当广播地址包...
JavaScript继承与原型链
当谈到继承时,JavaScript 只有一种结构:对象。每个实例对象(object)都有一个私有属性(称之为 __proto__)指向它的构造函数的原型对象(prototype)。该原型对象也有一个自己的原型对象(__...
Redis 持久化
Redis 提供了两种持久化方式,即 RDB(Redis Database)和 AOF(Append-Only File)。RDBRDB 持久化是 Redis 的默认持久化方式。它将 Redis 的数据集以二进制格式保存到磁盘上的一个文件中。RDB...
GoF 23种经典的设计模式——工厂模式
工厂模式是一种创建型设计模式,它提供了一种封装对象创建过程的方式。在工厂模式中,我们将对象的实例化过程移到一个独立的工厂类中,客户端通过调用工厂类的方法来创建对象,而不是直接使用 n...
kali Linux上安装docker
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -echo 'deb https://download.docker.com/linux/debian stretch stable'> /etc/apt/sources.list.d/docker.li...
Bugku CTF cookies欺骗
打开题目环境,如图所示 关键在于url http://114.67.175.224:13635/index.php?line=&filename=a2V5cy50eHQ= a2V5cy50eHQ=这一串直接拿去base64解码,得到keys.txt。猜测这两个参数的意义可...
.htaccess文件上传漏洞
.htaccess原理 .htaccess文件是Apache服务器下的一个配置文件。其主要负责相关目录下的网页配置,即:在一个特定的文档目录中放置一个包含一个或多个指令的文件来对网页进行配置。 不过需要注意...
SeedLab——Buffer Overflow Attack
Lab4——Buffer Overflow AttackEnvironment Setup1、禁用地址空间布局随机化(ASLR)。ASLR是一种安全功能,它随机化进程使用的内存地址,增加攻击者利用内存漏洞的难度。在大多数现代Linux发...
cpp的union使用
union介绍 看一下下面的代码运行结果 #include <iostream> using namespace std; union u { char c; int n; }; int main() { cout << sizeof(u) << endl; return 0; } 运行结...
智能指针详解
为什么引入智能指针?内存泄漏问题C++在堆上申请内存后,需要手动对内存进行释放。随着代码日趋复杂和协作者的增多,很难保证内存都被正确释放,因此很容易导致内存泄漏。在上述代码中,Functio...
浅谈IoC——C++怎么实现IoC?
有系统学习过Spring框架的同学都知道,Spring的一个很重要也是很有设计美感的一个特性——IoC (Inversion of Control),即控制反转。所谓控制反转,就是把传统上由程序代码直接操控的对象的调用...
Redis事务与乐观锁
概述 Redis 事务是一种将多个命令打包在一起执行的机制。通过使用事务,可以确保一系列命令在一次执行中依次执行,而不会被其他客户端的命令请求打断。 Redis 事务的执行分为以下几个步骤: 开...
PHP的反序列化和POP链利用
0×00 前言 简单记录一下PHP中的POP链和反序列化相关知识。 0×01 POP (一)POP(Property-Oriented Programing) POP面向属性编程,常用于上层语言构造特定调用链的方法,与二进制利用中的面向...
PHP魔术常量
什么是PHP魔术常量?PHP 向它运行的任何脚本提供了大量的预定义常量。很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。魔...
GoF 23种经典的设计模式——装饰器模式
装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 引入装饰器主要是为了...
XSS-Labs大闯关第二弹
最后两题我还没看懂,等我看懂了再写吧。或者来个大佬指点一下。 level 11 referer 查看源代码,发现了和level 10一样的隐藏表单。给每个隐藏变量传参,查看源代码,发现只有t_sort可以接受参数...
PHP安全核心配置
PHP配置文件指令多达数百项,为了节省篇幅,这里不对每个指令进行说明,只列出会影响PHP脚本安全的配置列表以及核心配置选项。详细参阅官方文档,关于php.ini的配置选项列表。allow_url_include...
Linux下iptables防火墙配置
netfilter与iptables 不同内核版本下的Linux下防火墙 在Linux 2.0.X 内核版本中,防火墙功能由 ipfwadm 提供。ipfwadm 是一个基于规则的防火墙工具,可以设置过滤规则来控制数据包的流动。它使...
告知服务器意图的HTTP方法
推荐 上野宣的《图解http》 GET获取资源 GET方式用于请求访问已经被URI识别的资源。制定资源经过服务端解析后返回响应内容。也就是说,如果请求的资源是文本,那就保持原样返回;如果是CGI(Comm...
N1BOOK-XSS的魔力writeup
靶场搭建 需要在Linux系统上安装docker,参考前一篇文章kali Linux上安装docker。 第一步,进入root模式 sudo -i 新建一个文件夹 mkdir xss 新建docker-compose.yml文件 touch docker-compose.y...
SeedLab——MD5 collision
task 1# Task生成两个不同的文件,但是这两个文件具有相同的md5哈希值。也就是最简单的哈希碰撞。md5collgen的原理如下图所示。其接受一个相同的前缀内容prefix,并为其生成两个填充与P和Q,P与...
GoF 23种经典的设计模式——创建者模式
Builder 模式是一种创建对象的设计模式,它将对象的构建过程与其表示分离,允许按照步骤构建复杂对象。它提供了一种可读性强、灵活性高的方式来构建对象。使用 Builder 模式时,通常会有以下几...
upload-labs大闯关
pass-1解题思路:这里对上传的文件扩展名进行验证,但是只在前端验证,服务端没有进行验证,因此伪造扩展名抓包然后再burp suite中修改扩展名即可绕过前端验证。还可以通过直接F12删除这段JavaS...
SSL/TLS协议解析
SSL/TLS协议是什么? SSL/TLS概述 SSL/TLS协议(Security Socket Layer Protocol/Transport Layer Security Protocol,安全套接层协议/传输层安全协议)是网景公司在1994年提出的一种基于Web应用...
CTFHUB web基础——SSRF
数字IP bypass数字IP是指将IP地址中的每个数字都转换为一个十进制数的形式,例如将192.168.0.1转换为十进制数 3232235521。IP地址是用于标识网络上设备的唯一地址,它由32位二进制数表示,通常...
preg_replace函数/e漏洞
preg_replace 函数执行一个正则表达式的搜索和替换,语法如下: mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) pat...
LeetCode 热题 100
49、字母异位词分组——哈希表、排序将异位词进行排序后可以得到相同字符串。遍历字符串数组,对每个字符串排序之后存入哈希表,最后将哈希表转化成数组即可。class Solution { public: vector&...