自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 热身签到-ctfshow

将这两个字符转换为整数(十进制解释),然后通过chr函数转换为对应的字符,并追加到decoded。循环从0开始,到s的长度,步长为2,每次取两个字符。定义一个空字符串decoded用于存储解码结果。定义字符串s,它由数字字符组成。最后打印decoded。在进行十六进制解密,得到。

2026-01-21 21:51:40 30

原创 Cookie伪造

配置通常是出题人故意留下的线索,暗示认证系统存在缺陷,需要探索绕过方法。默认用户名为guest,盲猜密码也是guest。:系统直接暴露了一个有效的用户名。抓包,将role改为admin。:暗示可能存在其他用户,如。,攻击者无需猜测用户名。

2026-01-21 21:40:27 38

原创 HTTPS中间人攻击

解密TLS流量的本质就是拿到主密钥或者会话密钥,该题目给出的sslkey.log属于密钥日志,是浏览器/客户端把会话密钥写入日志中得到的文件,可以用来进行解密。这道题给我们了两个文件,一个是sslkey.log(预主密钥--中间人攻击的核心),还有一个wireshark的流量包文件。直接用wireshark打开这个流量包,协议过滤器输入TLS,找包含POST方法的请求包。找到TLS选项,在filename中导入获得的密钥。POST数据包中即可拿到flag。

2026-01-21 20:17:28 75

原创 Base64多层嵌套解码

已知这一步的结果是IzUFQxM1UzRmtRmt0USk0w5S0U52qRXdUVkZ9cVc5,那么我们可以尝试补上被删除的前两个字符,然后Base64解码,得到字符串应该以'aB3'开头,以'qW9'结尾。验证函数的最后一步是:btoa(encoded) === correctPassword,所以我们可以先对correctPassword进行Base64解码,得到上一步的encoded值。同理,我们需要补上被删除的前三个字符,然后Base64解码,得到字符串应该以'xH7jK'结尾。

2026-01-20 23:14:44 367

原创 HTTP头注入

基本概念HTTP头注入是指攻击者能够将恶意数据注入到HTTP请求头或响应头中的安全漏洞。这通常发生在应用程序将用户输入未经适当过滤就直接拼接到HTTP头部的情况。关键特点发生在HTTP头部(请求头或响应头)需要应用程序信任并处理用户提供的头信息可导致多种攻击:CRLF注入、响应拆分、缓存污染等。

2026-01-20 22:38:19 150

原创 CTFshow学习记录

查看页面源代码。

2026-01-20 19:37:43 82

原创 网络管理-1

一个原本稳定的企业网络由数台小型机和约100台桌面终端组成。网络频繁"崩溃"。信息系统副总裁和技术人员一起沿走廊检查,逐一查看每间办公室。发现有人瞎摆弄一个收发器且连接不当,导致了网络中断。工程师的桌面上留下了沾满灰尘的球鞋脚印。"你需要使用一切可用的诊断工具。(a) 采用单端口网桥连接的多段总线局域网一家中型公司拥有五十名员工。一个以太网局域网段连接到一台六端口网桥的一个端口上。这个单一逻辑段由五个物理段通过四个中继器连接而成。随着活动量的增加,该网段频繁宕机。

2025-12-01 17:21:46 758

原创 在 Visual Studio 中找不到.aspx.cs 文件

有没有遇到相同的问题,提供一下解决方法吧。

2025-09-29 16:05:20 108

原创 Java数据输出的执行性能分析

2、该程序的功能是:生成一系列可打印的 ASCII 字符(从 ASCII 码 33 的 '!同时,程序会生成一个 test.txt 文件,其中包含 1000 行字符,每行 72 个可打印的 ASCII 字符。// 计算下一行的起始字符(比当前行起始字符右移一位,循环处理)// 可打印字符的起始ASCII码('!// 每行起始字符的ASCII码(初始为第一个可打印字符)// 计算当前要写入的字符的ASCII码。// 可打印字符的总数(从33到126共94个字符)// 调用字符生成方法,将字符写入文件。

2025-09-13 13:54:38 901

原创 CTF学习——攻防世界

post方式:先点击load url提取url,然后选择post data,再根据题意在post输入框内输入b=2,点击execute发送,获取到flag。第一行user-agent的*是适用于任意的浏览器,后面的是不允许访问(爬虫)后面的两个文件夹和文件,在URL中输入“/文件名”即可。先点击load url提取url,再根据题意在url后输入/?robots协议是一个君子协议,不是硬性要求,我们可以去爬取,但是可能会承担法律责任。打开页面,如下,输入127.0.0.1,查看命令执行结果。

2024-10-19 10:00:55 686

原创 链表(单链表、循环链表)

单链表存储特点:1.逻辑次序和物理次序不一定相同2.元素之间的逻辑关系用指针表示。

2024-10-18 10:46:57 269

原创 CSDNmarkdown使用文档

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2024-10-18 09:17:51 836

原创 单链表的学习

必须按事先估计的最大元素个数分配连续的存储空间,难以临时扩大。2、从头结点开始,找到元素ai所在结点,指针p指向该结点。1、生成数据域为x的新结点,指针q指向新结点。First是头指针,指向链表中的第一个结点。在给定元素ai之后插入值为X的元素。3、将新结点插入在ai所在结点之后。采用链式存储结构的线性表称为链表。每个结点只包含一个指针域的链表。最后一个结点的指针域为null。直接后继的存储地址——指针域。链表中的第一个结点称为头结点。单链表、循环链表、双向链表。每个数据元素——数据域。

2024-10-05 18:18:13 221

原创 dig和nmap的区别

dignmap定义与功能DNS信息查询工具网络扫描和安全审计工具使用场景DNS问题诊断、域名解析验证网络发现、端口扫描、安全审计特点专注于DNS查询,提供详细的DNS记录信息功能强大且灵活,支持多种扫描类型和选项附加功能无(专注于DNS)操作系统检测、服务版本检测、网络拓扑发现等用户界面命令行界面命令行界面或图形界面(Zenmap)综上所述,dig和nmap在功能、用途和原理上存在明显区别。dig主要用于DNS信息查询和诊断,而nmap。

2024-09-29 11:03:35 706

原创 求出1000以内的全部素数

两个代码中isprime的类型不同。

2024-09-28 20:54:50 187

原创 7-1 两个有序链表序列的交集

已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。

2024-09-16 10:50:08 685

原创 结构体指针

当一个结构体中有一个或者多个成员是指针,他们所指向的类型就是本结构体类型时,通常这种结构体称为“ 引用自身的结构体”,即“自引用结构”由于单链表的每个结点都有一个数据域和一个指针域,所以每个结点都可以定义成一个结构。(*stu1).chinese与stu1->chinese是等价的。注意看del函数中删除s结点的操作,不同的方法。结构体指针同样要赋值以后才能使用。变量的值是指向的结构体变量的起始。结构体指针的定义和操作。

2024-09-15 20:06:55 353

原创 成绩的统计

输入格式:第一行,有个整数N, N的范围是[1...100];下面有N行,每行一个姓名,2个整数。姓名由不超过10个的小写字母组成,整数范围为[0...100]成绩统计:输入N个学生的姓名和语文、数学的得分,按总分从高到低输出,分数相同的按输入先后输出。输出格式:总分排序后的名单,共N行,每行格式:姓名语文数学总分。

2024-09-15 17:32:17 294

原创 STL的学习

算法:常用的算法:sort find copy for_each。STL六大件:容器 算法 迭代器 仿函数 配接器 空间适配器。非质变算法:不会更改区间内的元素:查找 计数 遍历 寻找极值。可以把迭代器当作指针 ,现在多使用双向迭代器和随机访问迭代器。容器:数据结构:vector deque set map。序列式容器:强调值的排序,怎么样插入就是怎么样排序的。质变算法:会更改区间内的元素:拷贝、替换、删除。迭代器:容器和算法之间通过迭代器进行无缝连接。算法要通过迭代器才能访问容器中的元素。

2024-09-15 15:31:44 242

原创 第二章 线性表

所以D选项是链表的一个特点。但根据题目的直接描述“将长度为n的单链表链接在长度为m的单链表之后”,并且假设我们已经有了两个链表的头指针,那么这个操作应该是O(1)的,因为我们只是简单地修改了一个指针的指向,而没有进行任何遍历。这个操作的时间复杂度是O(N),因为无论i的值是多少(假设i是有效的,即1 ≤ i ≤ N),都需要从头结点开始遍历链表,直到找到第i个结点。在大多数上下文中,当提到“链接”两个链表时,我们指的是直接修改指针,从而使得第一个链表的末尾连接到第二个链表的开头,这是一个O(1)的操作。

2024-09-13 21:16:11 1468

原创 数据结构与算法 概论

A. 对于各种特定的输入,算法的时间复杂度是固定不变的:这条叙述是错误的。算法的时间复杂度通常是指其在大规模输入下的增长趋势,而特定输入的实际运行时间可能会受到输入数据的影响。因此,对于不同的输入数据,算法的实际运行时间可能会有所不同,但时间复杂度本身是对所有可能输入情况的一个渐近分析。在分析算法的性能或复杂度时,首先需要确保算法的正确性,即它能够按照预期的方式解决问题并产生正确的结果。算法是程序设计的基础。它关注的是数据元素之间的关系和组织方式,而不涉及具体的数据内容或数据的具体形式。

2024-09-08 02:12:07 875

原创 8.30学习笔记

NOPASSWD条目中的命令:/bin/bash,无需密码即可执行,sudo该用户运行,输入命令。情况2、已经知道用户名为:user1,IP地址及端口为:94.237.50.255:33436。输入:ls,表示 查看当前路径下所有文件或目录,有:user1,user2。输入:pwd,表示显示当前目录的绝对路径,为:home/use1。输入:cd ../,表示返回到上一级目录,为:回到home。输入:cd user2,表示打开home下的user2。输入:pwd,显示为:/home/user2。

2024-09-01 01:32:57 295

原创 sql注入的万能语句

当我们输入正确的用户名与密码就可以登陆进去,但是这个验证机制也可以通过SQL语句来构造特殊的字符串来通过验证。name就是输入的用户名,pwd 就是输入的密码(“$”表示变量,存储)”where“表示条件,为真则执行,验证成功,为假则不执行,验证失败。"or"是或的意思,根据离散数学的逻辑判断规则,可知一真一假为真,输入用户名:“username"输入密码:”password"再例如:1’or 1=1 #查询出表中所有的字段。

2024-08-17 18:50:32 711

原创 小迪安全学习笔记第三天

Fiddler:是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。TCDump:是可以将网络中传送的数据包完全截获下来提供分析,他针对网络层,协议层,主机,网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。协议:有些app,小程序走的数据走向,通讯还是网站,只是把网站通过封装技术封装到了app里,通过抓包知道是走php协议,还是走web协议。

2024-07-25 17:13:01 309

原创 文件的判断和选择题

选项 D 是错误的,因为std::cout是标准输出流,不是文件流对象,不能使用open()函数来打开文件。因此,错误的表达式是:D.以下关于文件操作的叙述中,不正确的是:A.打开文件的目的是使文件对象与磁盘文件建立联系B.文件读写过程中,程序将直接与磁盘文件进行数据交换C.关闭文件的目的之一是保证将输出的数据写入硬盘文件D.关闭文件的目的之一是释放内存中的文件对象以下关于文件操作的叙述中,不正确的是:B. 文件读写过程中,程序将直接与磁盘文件进行数据交换。

2024-06-13 22:36:42 1089

原创 模板与异常

通过使用模板,可以编写通用的代码,适用于多种数据类型,而不需要为每种类型分别编写代码。A.处理不了的异常,可以通过在catch结构中调用throw重新抛出异常,将当前异常传递到外部的try-catch结构中。C.在对函数进行异常规范声明时,若形参表后没有任何表示抛出异常类型的说明,它表示该函数不能抛出任何异常。B.catch语句块必须跟在try语句块的后面,一个try语句块后可以有多个catch语句块。A.异常处理的throw与catch通常不在同一个函数中,实现异常检测与异常处理的分离。

2024-06-13 21:53:40 798

原创 运算符重载

这些运算符之所以不能被重载,主要是因为它们在C++语言中有固定的语义和用途,重载后可能会导致运算符意义的混淆或破坏语言的原有设计。,而不能被重载为类的友元函数或全局函数。这是因为赋值运算符需要直接访问类的私有和受保护成员,以便能够正确地执行赋值操作。是的,运算符重载函数通常必须声明为类的成员函数,特别是当它们需要访问类的私有成员时。重载运算符()、[]、->或者=赋值运算符,运算符重载函数必须声明为类的成员函数。赋值运算符“ =”只能重载为成员函数。只能被重载为类的成员函数。

2024-06-13 21:15:21 449

原创 多态的选择和判断题

正确。抽象类可以定义友元函数,友元函数可以访问类的私有和保护成员。D.

2024-06-12 15:23:09 967

原创 继承的选择题

B. 只能被该类的成员函数和友元函数访问在公有继承的情况下,在派生类中能够访问的基类成员包括A.公有成员B.保护成员C.公有成员、保护成员和私有成员D.公有成员和保护成员D. 公有成员和保护成员在公有继承的情况下,派生类可以访问基类的公有成员和保护成员,而不能直接访问基类的私有成员。D. 公有成员和保护成员在c++中,类之间的继承关系具有( )。A.自反性B.对称性C.传递性D.反对称性C. 传递性在C++中,类之间的继承关系具有传递性。

2024-06-11 23:17:33 596

原创 友元和静态成员

静态成员变量的访问控制权限没有意义,静态成员变量均作为公有成员使用。(X)这句话是不正确的。静态成员变量的访问控制权限在C++中是有意义的,并且它们可以被声明为 、 或 ,就像非静态成员变量一样。友元函数不是类的成员函数,只是独立于该类的一般函数。 (√)是的,这句话是正确的。友元函数(friend function)不是类的成员函数,而是独立于该类的普通函数。但友元函数可以访问该类的私有和受保护成员。友元函数的定义:友元函数的特点:如果A是B的友元类,那么B的成员函数可以访问A的私有成员 (×)在C++中

2024-06-11 22:42:04 705

原创 类和对象选择题

对象p(2个对象):2次析构函数调用对象p2:0次析构函数调用(因为没有delete p2对象a:1次析构函数调用3次因此,正确答案是:C. 3以下对类A的定义,哪个是正确的?C.D.A.这个选项几乎是正确的,但少了一个分号;来结束类定义C.最后一行的定义是错误的,因为void是返回类型,应该在作用域运算符之前,而不是之后。D.这个选项是错误的。类A包含一个类型为A的成员next,这是不合法的,因为这会导致无限递归定义。应改为指向Aclass A {int v;

2024-06-11 18:49:00 1304

原创 结构化程序设计

在C语言中,函数返回值的类型在函数定义时指定。

2024-06-11 17:51:03 2114

原创 6-4 使用类计算矩形的面积

public://设置矩形的长度//设置矩形的宽度//计算并返回矩形的面积private://矩形的长度和宽度请实现Rectangle类的成员函数。

2024-06-10 23:24:51 236

原创 6-3 创建CPU

根据题目要求写出类。

2024-06-10 23:18:50 616

原创 6-1 学生成绩的快速录入(构造函数)

完成Student类。

2024-06-10 20:02:18 642

原创 7-5 例4-3游泳池改造预算

在当前设计中,zljg()和gdjg()不需要形参,因为它们使用的是对象的成员变量r。如果希望计算不同半径的造价,可以将半径作为参数传递给这些函数,这样它们就需要形参。这种设计选择主要取决于具体需求和设计的灵活性。

2024-06-10 16:47:00 2096

原创 7-3 通过指针,输出对象数组的数据

设计一个类,主函数中建立一个对象数组,输入5个学生数据(学号、成绩),用对象指针指向数组首元素,输出5个学生的数据。

2024-06-10 14:30:08 1218

原创 7-2 定义一个时间类Time

本题目要求定义一个类Time,实现相关的成员函数的定义:class Timeprivate:int days;int hours;public:在main()函数中从键盘读入6个整数值分别为2个类Time对象赋值,然后输出2个Time对象的和。

2024-06-10 13:16:20 860

原创 7-2 复数类的运算

根据以下代码段完善??处内容及程序内容,以实现规定的输出。

2024-06-10 02:13:26 465

原创 7-1 重载大于号运算符,比较复数大小

本题目要求编写代码的功能为:输入两个复数(变量名自拟),比较复数模的大小,复数实部与虚部都是整数要求输入时输入4个整数,分别代表复数1的实部、虚部,复数2的实部虚部。

2024-06-10 02:10:25 360

空空如也

空空如也

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

TA关注的人

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