ARTICLE

文章

共 47 篇内容

文章

KV缓存的原理(翻译文章)

本文翻译自Hugging Face-How caching works? KV缓存的原理 设想一下,你正在和某个人对话,但对方不会记住你之前说过什么,每次回应你时都必须从头开始。这样会很慢,也很低效,对吧? 你可以把这个类比扩展到 transformer 模型。自回归模型的生成可能会很慢…

阅读全文
文章

软件安全实验-硬件加密锁技术及应用

软件安全实验-硬件加密锁技术及应用 【实验目的】 本实验使用商用硬件加密锁,将软件中的关键算法代码移植到加密锁中执行,并通过宿主程序调用加密锁中的自定义函数。通过对加密锁初始化、模板代码生成、函数编译写入、程序运行验证以及TraceMe个性化保护方案的实现,加深对软件保护、授权验证和硬件…

阅读全文
文章

软件安全实验-游戏外挂设计与防范

软件安全实验-游戏外挂设计与防范 【实验目的】 本实验通过分析Windows XP附带的扫雷游戏,实现自动扫雷的外挂程序。一方面了解内存外挂的相关技术,包括通过CE工具定位关键内存地址、读写进程内存数据、模拟鼠标操作等;另一方面分析防范此类外挂的方法,增强对游戏安全防护机制的理解。 【实…

阅读全文
文章

SEEDLab-TCP攻击:Docker与Scapy实践

SEEDLab-TCP攻击:Docker与Scapy实践 【实验目的】 本实验旨在让学生亲身体验TCP协议中的安全漏洞以及针对这些漏洞的攻击方法。通过实践SYN泛洪攻击、TCP复位攻击、TCP会话劫持攻击和反向Shell等技术,深入理解TCP/IP协议的脆弱性,掌握安全设计、安全编程和安…

阅读全文
文章

软件安全实验-HOOK技术

软件安全实验-HOOK技术 【实验目的】 Hook 是在指令的关键位置插入特定代码,以干预程序原有的执行流程,实现拦截目标进程运行过程的关键信息、改变目标进程原本执行流程等目的。本实验使用 Inline Hook 技术,挂钩 TraceMe.exe 中计算序列号的代码,获取正确的序列号,…

阅读全文
文章

SEEDLab-VPN隧道

SEEDLab-VPN隧道 【实验目的】 本实验通过从零构建一个简单的VPN隧道,深入理解虚拟专用网络(VPN)的工作原理。实验涵盖TUN/TAP虚拟网络接口的创建与配置、IP隧道技术(将原始IP数据包封装在UDP载荷中传输)、路由配置与双向流量转发等核心内容,最终实现主机U通过VPN隧…

阅读全文
文章

软件安全实验-代码注入技术

软件安全实验-代码注入技术 【实验目的】 本实验通过远程线程和输入表注入,向目标进程注入代码、向目标PE文件注入DLL,以加深对代码注入技术的理解。 【实验原理】 代码注入是将用户代码注入到其他进程或者可执行文件中,实现拦截目标进程运行过程的关键信息、改变目标进程或可执行文件原本执行流程…

阅读全文
文章

SEEDLab-ARP缓存中毒攻击

SEEDLab-ARP缓存中毒攻击 【实验概要】 地址解析协议(ARP)是一种用于在给定IP地址的情况下查询链路层地址(例如 MAC 地址)的通讯协议。ARP协议是一个非常简单的协议,它并未实现任何安全措施。ARP缓存中毒攻击是对ARP协议的一种常见攻击方式。使用此类攻击,攻击者可以让受…

阅读全文
文章

软件安全实验-静态分析技术

软件安全实验-静态分析技术 【实验目的】 本实验结合x32dbg和IDA,分析简单注册程序(TraceMe.exe)的序列号生成逻辑,以此学习 Windows 32 位应用程序的静态分析技术。 【实验原理】 静态分析的基本思路: 静态分析是在不直接运行程序的情况下,对可执行文件的结构、代…

阅读全文
文章

软件安全实验-动态分析技术

软件安全实验-动态分析技术 【实验目的】 本实验使用x32dbg调试器,分析简单注册程序(TraceMe.exe),获得正确的序列号或者修改程序逻辑,以此学习调试Win32应用程序的相关技术。 【实验原理】 调试器的基本工作机制: x32dbg 通过 Windows Debug API …

阅读全文
文章

SEEDLab-ICMP重定向攻击

SEEDLab-ICMP重定向攻击 实验背景 ICMP重定向是一种由路由器发出的ICMP消息。当路由器认为一个数据包被错误地路由时,它会通知发送者使用不同的路由器来转发后续到同一目的地的数据包。ICMP重定向可以被攻击者用来改变数据包的路由。 本任务的目标是针对受害者发起一个ICMP重定…

阅读全文
文章

SEEDLab-数据包嗅探与伪造

SEEDLab-数据包嗅探与伪造 【实验背景】 数据包嗅探和伪造是网络安全中两个重要的概念,它们是网络通信中的两大威胁。能够理解这些威胁对于了解网络中的安全措施至关重要。有许多嗅探和伪造工具,如Wireshark, Tcpdump, Scapy等等。这些工具被安全专家以及攻击者广泛使用。…

阅读全文
文章

SEEDLab-XSS攻击

SEEDLab-XSS攻击 跨站脚本攻击(XSS)是一种常见于Web应用程序的漏洞类型。该漏洞使攻击者能够向受害者的网络浏览器注入恶意代码(例如JavaScript程序)。利用此类恶意代码,攻击者可窃取受害者的凭据(如Cookie)。浏览器用于保护这些凭据的访问控制策略(即同源策略)可能…

阅读全文
文章

SEEDLab-SQL注入攻击

SEEDLab-SQL注入攻击 SQL注入是一种代码注入技术,它利用了Web应用程序与数据库服务器接口中的漏洞。当Web应用在将用户输入发送到后端数据库服务器之前,没有对输入进行正确检查时,就会产生这种漏洞。 许多Web应用程序会接收用户输入,并使用这些输入来构造SQL查询,从而从数据库…

阅读全文
文章

SEEDLab-TCP攻击

SEEDLab-TCP攻击 任务1 SYN泛洪攻击 SYN洪泛攻击是一种DoS攻击形式,攻击者向受害者的TCP端口发送大量SYN请求,但攻击者无意完成三次握手过程。攻击者可能使用伪造的IP地址,或者不继续进行握手。通过这种攻击,攻击者可以淹没受害者用于半开连接的队列,也就是那些已经完成S…

阅读全文
文章

SEEDLab-伪随机数生成实验

SEEDLab-伪随机数生成实验 在安全软件中,生成随机数是一项非常常见的任务。在许多情况下,加密密钥并不是由用户提供的,而是由软件在内部自动生成的。这些密钥的随机性非常重要;否则,攻击者就可能预测出加密密钥,从而破坏加密机制的安全性。 许多开发者根据自己以往的经验,知道如何生成随机数(…

阅读全文
文章

SEEDLab-测信道攻击与Heartbleed漏洞

SEEDLab-测信道攻击与Heartbleed漏洞 1 侧信道攻击 本实验的第一个任务,是通过使用所提供的漏洞代码 sidechannel.c,设计一个攻击代码,利用侧信道攻击的方式获取密码,并通过shellcode 来获取 root shell。我们首先分析一下目标程序sidecha…

阅读全文
文章

PyTorch入门学习:11-Advanced CNN

11 Advanced CNN 1 GoogLeNet 如图,是常见的神经网络GoogLeNet。 为了降低编写难度和维护成本,需要减少代码冗余,因此将网络中多次出现的部分定义为一个类,称为Inception Module。 2 Inception Module 如图所示,是Incept…

阅读全文
文章

PyTorch入门学习:10-Basic CNN

10 Basic CNN 1 Intro: Convolutional Neural Network Why full connected layer isn’t enough? An simple explanation: 考虑图像上上下相邻的两个像素,它们在空间上相近,但是在向量中却…

阅读全文
文章

PyTorch入门学习:9-Softmax Classifier

9 Softmax Classifier 1 Introduction 如果直接使用之前的模型,每个输出对应相应类别的概率,那么会造成最终输出不满足分布的特点。 因此,需要对输出进行处理,使得每个类别对应的输出满足以下条件: 为解决这个问题,将最后一层Sigmoid换为Softmax层。…

阅读全文
文章

PyTorch入门学习:6-Logistic Regression

6 Logistic Regression 6.1 Introduction 6.1.1 Classification - The MNIST Dataset MNIST是一个手写数字数据集,包含60000个训练样本和10000个测试样本。每个样本是28x28的灰度图像,标签是0-9的数…

阅读全文
文章

PyTorch入门学习:4-Back Propagation

Back Propagation 反向传播 1 Introduction 对于简单的神经网络,我们可以使用解析式来计算梯度。 但是对于复杂的神经网络,我们无法使用解析式来计算梯度,因此需要使用反向传播算法。 每个层单独计算梯度并不复杂,而复合后,梯度的计算就变得复杂起来。 2 Compu…

阅读全文
文章

PyTorch入门学习:3-Gradient Descent

Gradient Descent 1 Introduction 穷举法局限性 分治法:区间内均分点,找到最优后,再在最优点的邻域内继续搜索。 易陷入局部最优解 2 Gradient Descent 在点的梯度方向上取反,即可得到损失下降的方向。 同样难以解决非凸函数局部最优的问题 同时还…

阅读全文
文章

PyTorch入门学习:2-Linear Model

1 示例 1.1 Training Set & Test Set(泛化能力) 数据集划分为训练集和测试集,而为了测试集的表现较好,又将训练集划分为训练集和验证集。 1.2 Model design 示例中的数据明显适用线性模型,即 。 Training Loss 定义为模型在训练…

阅读全文
文章

PyTorch入门学习:1-Overview

这是PyTorch入门学习系列文章的第一篇,主要介绍PyTorch的基本概念。 本系列文章属于个人笔记,参考课程为PyTorch入门学习。 0. 一些闲话 0.1 版本问题:技术教学滞后性 1. 学习目标 使用PyTorch实现学习系统 理解神经网络/深度学习的基础 要求: Python…

阅读全文
文章

SEEDLab-堆与UAF漏洞

SEEDLab-堆与UAF漏洞 实验介绍 本实验旨在深入理解UAF(Use-After-Free)漏洞的成因、利用原理及其在实际程序中的表现形式。通过分析两个典型场景——普通结构体中的函数指针UAF和C++对象中虚函数表(vtable)相关的UAF,掌握堆内存分配与释放的基本机制,熟悉攻…

阅读全文
文章

pwn.kr-Echo2:FSB+UAF链式劫持

pwn.kr-Echo2:FSB+UAF链式劫持 原理 UAF 漏洞原理:悬空指针的错误使用。 程序在释放堆内存后继续访问旧指针,使攻击者能够利用堆重用机制覆盖关键数据结构。 tcache 重用机制:已释放 chunk 的优先返回。 小尺寸 chunk 在 tcache 中以 LIFO …

阅读全文
文章

SEEDLab-ShellShock攻击

SEEDLab-ShellShock攻击 实验介绍 2014年9月24日,Bash中发现了一个严重漏洞。这个被昵称为“Shellshock”的漏洞可被用于攻击许多系统,既可以远程发起,也可以在本机上启动。在本实验中,学生需要研究这种攻击,以便理解Shellshock漏洞。该实验的学习目标…

阅读全文
文章

SEEDLab-Ret2Libc攻击

SEEDLab-Ret2Libc攻击 实验介绍 本实验的学习目标是让学生亲身体验缓冲区溢出攻击的一种有趣变体;这种攻击能够绕过目前主流Linux操作系统中实现的一项现有保护机制。常见的缓冲区溢出利用方式是:用恶意shellcode覆盖缓冲区,然后让易受攻击的程序跳转到存储在栈中的shel…

阅读全文
文章

SEEDLab-缓冲区溢出2

SEEDLab-缓冲区溢出2 任务一 以下的程序有一个缓冲区溢出漏洞,我们的任务就是利用这个漏洞。注意需要打开地址随机化保护,利用jmp esp或者call esp(不要使用nop)。 123456789101112131415161718192021222324252627282930…

阅读全文
文章

SEEDLab-缓冲区溢出

SEEDLab-缓冲区溢出 1 实验介绍 本实验的学习目标是让学生通过把课堂上学到的缓冲区溢出知识付诸实践,从而获得对该漏洞的亲身体验。缓冲区溢出指的是程序试图把数据写入到预先分配的、固定长度缓冲区边界之外的情况。恶意用户可以利用这种漏洞改变程序的控制流,甚至执行任意代码。产生该漏洞的根…

阅读全文
文章

计算机组成2下-运算方法与运算器

2.2 运算方法与运算器 2.2.1 移位运算 1. 逻辑移位 移除相应位并补0。 应用举例 2.算数移位 算术移位规则 算术移位的对象:有符号数(==针对定点数==,包括定点整数和定点小数)

阅读全文
文章

记博客网站的搭建过程

从零到一:Hexo博客网站的搭建过程和一些坑 1. 简单设计与准备 鉴于本人对网站建设几乎没有经验,我预想的博客网站设计就是一个简单的静态网站,有基本的展示文章和便捷优雅的更新功能即可。博客还是要看重内容,不能太在乎形式,舍本逐末。 基于上面的需求,本网站采用云服务器+hexo静态网站生…

阅读全文
文章

计算机组成3-存储系统

3.1 概述 3.2 主存储器 3.2.1 SRAM Static Random-Access Memory 1.SRAM存储元 不需要周期刷新 采用多个MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor)-MOS管构成 2.…

阅读全文
文章

StackOverflow

LINUX Stackoverflow学习笔记 CTF PWN的学习资源过于零散,此文用于整合一些学习所得 原理相关 函数调用栈: CTFwiki中关于栈原理的介绍 这其中包含了对函数调用栈的介绍以及x86与x64的区别 栈溢出原理: CTFwiki关于栈溢出原理的介绍 包含了对栈溢出的…

阅读全文
文章

图的概念

数据结构速通之图的概念 相关知识 1.逻辑结构:多对多 2.图graph顶点vertex边edge 3.图G由两个集合构成,V是顶点的有限非空集合,E是V中顶点对的有限集。 4.V是⼀个有限的的⾮空集合,我们也称之为顶点集合,其元素称之为顶点或者点。V = {v1,v2,v3,v4,v5…

阅读全文
文章

时间复杂度

数据结构速通之时间复杂度 前导知识 1.每种C语言语句运行的速度一般不同,基本取决于每条指令对应机器指令的条数。又因为其中差距极小,近似地认为每条语句执行时间相同。由此近似地得出1s可执行10^8条语句。

阅读全文
文章

哈夫曼树

数据结构速通之哈夫曼树 前导概念 1.节点的路径长度:从根节点到该节点路径上经过的节点数 2.树的路径长度:某树所有叶节点的路径长度之和 3.结点的带权路径长度:结点的路径长度与结点权值之积

阅读全文
文章

stl容器-优先队列

说明:本博文关于priority_queue容器的说明来源于www.cnblogs.com/fusiwei/p/11823053.html 基本概念 priority_queue即优先队列,是一种按照一定顺序排列的队列。 这种数据结构基本满足队列的规则,先入先出(First In Fir…

阅读全文
文章

测试文章

测试标题 这是一个测试文章,测试==测试==。 rr 1print('hello world') \[ E = mc^2 \]

阅读全文
© 2026 Boris's Blog All Rights Reserved.
Theme by hiero