写在前面
欢迎来到我的博客!
本站建立的初衷是,记录博主大学阶段所学、所看、所想之事物,若在今后人生中迷茫或入歧途,可打开本站重新寻找灵感。同时,欢迎所有参观本站的朋友。
快速开始
点击这里,选择你喜欢的话题
 ------------------------------------------------------------------------------------------------------------------>
编程
开发中
硬件
如果你对电脑硬件及数码设备感兴趣,点击这里
游戏
如果你对游戏尤其是3A大作感兴趣,点击这里
生活
闲聊的地方
游戏测试页
这是一个测试页面无内容
Sudo/sudo_debug格式化字符串漏洞
Sudo/sudo_debug格式化字符串漏洞实验目的学习目标 学习漏洞的基本原理,通过对漏洞的复现,了解格式化字符串漏洞的成因和利用方式,特别是在关键系统组件Sudo中的表现形式。掌握如何定位代码中的漏洞点,如何通过恶意输入触发漏洞,并通过调试工具验证利用的有效性。提升安全防护意识通过实验,认识格式化字符串漏洞对系统安全的威胁,理解其可能的攻击后果。熟悉漏洞修复过程,并验证修复措施的有效性。模拟实际攻击过程中可能的条件和操作步骤,为后续在生产环境中发现和应对类似漏洞积累经验。提高综合能力,通过实验提升在漏洞复现中的综合能力,包括环境搭建、源码调试、漏洞利用和修复验证等环节的实践技巧。
复现目标 通过输入恶意格式化字符串代码,致使存在漏洞版本的sudo触发漏洞,泄露敏感信息,泄露内存地址,进而实现任意代码执行等非法操作。
实验环境操作机/靶机:VMware Ubuntu64位
虚拟机系统及版本:Ubuntu 12.04
sudo版本:sudo1.8.3p1
使用工具:终端、代码编辑器
本机配置:win11家庭版 16G主存
实验原理环境变量、调试模式及源码引入 ...
8大排序算法汇总
以下是八大排序算法的详细介绍,包含了相应的 Python 实现代码,使用 Markdown 格式:1. 冒泡排序 (Bubble Sort)冒泡排序通过重复遍历待排序的数列,每次比较相邻的元素,并交换顺序错误的元素,直到整个数列有序。
Python 代码:1234567891011def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr# 示例arr = [64, 34, 25, 12, 22, 11, 90]print(bubble_sort(arr))
2. 选择排序 (Selection Sort)选择排序每次从未排序的部分中选择最小(或最大)元素,放到已排序部分的末尾。
Python 代码:12345678910111213def selection_ ...
html基础语法简述汇总
HTML(HyperText Markup Language,超文本标记语言)是构建网页和Web应用程序的标准语言。它用于创建网页的结构,描述网页中的内容以及如何显示这些内容。HTML通过标记(tags)来标识文档的不同部分,告诉浏览器如何渲染内容。
1. HTML文档的结构一个标准的HTML文档包含以下基本部分:
1234567891011<!DOCTYPE html> <!-- 声明文档类型 --><html lang="en"> <!-- HTML文档开始 --><head> <meta charset="UTF-8"> <!-- 设置字符集 --> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 响应式设计 --> <title>网页标题</title&g ...
c++实现AES加密算法
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220 ...
c++实现DES加密算法
涉及到非常多的数组变换,使用vector数组向量能很好的解决动态数组大小的问题。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818 ...
python实现SM4加密算法
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105Sbox = [ 0xd6, 0x90, 0xe9, 0xfe, 0xcc, 0xe1, 0x3d, 0xb7, 0x16, 0xb6, 0x14, 0xc2, 0x28, 0xfb, 0x2c, 0x05, 0x2b, 0x67, 0x9a, 0x76, 0x2a, 0xbe, 0x04, 0xc3, 0xaa, 0x44, 0x13, 0x26, 0x49, 0x86, 0x06, 0x99, 0x9c, 0x42, 0x50, 0xf4, 0x91, 0xef, 0x98, 0x7a, 0x33, 0x54, 0x0b, 0x43, 0x ...
python实现维吉尼亚密码
points:1.ASCII码的转换
2.对input函数的理解
3.append函数的使用
123456789101112131415161718192021222324252627282930313233343536373839404142434445# import getchdef get_str(str): print("please input plaintext:") chars = input() for char in chars: str.append(char)def get_secret_key(ints): print("please input secret key:") keys = input() for key in keys: int = ord(key) - 97 ints.append(int)def encryption(str, ints, en_str): ints_length = len(ints) str ...





