分数区间 |
---|
![]() |
题型分布 |
![]() |
解题次数 |
![]() |
模块1:theory(理论)
1.以下哪项是信息安全的三大核心目标(CIA三要素)?
-
A. 保密性、完整性、可用性
-
B. 机密性、真实性、可审计性
-
C. 可控性、可靠性、可追溯性
-
D. 保密性、可扩展性、合规性
答案:A
解析:信息安全的核心目标是CIA三要素:
保密性(Confidentiality):确保信息不被未授权访问。 完整性(Integrity):确保信息在存储和传输过程中不被篡改。 可用性(Availability):确保授权用户在需要时可以访问信息和资源。 其他选项中的“真实性”“可审计性”等是扩展目标,但CIA是基础。
2.在信息安全风险管理中,风险 = ?
-
A. 威胁 × 脆弱性 × 影响
-
B. 威胁 × 资产价值 × 控制措施
-
C. 资产 × 威胁 × 脆弱性
-
D. 损失 × 发生概率
答案:D
解析:风险的基本计算公式为:风险 = 事件发生的可能性 × 事件发生后的影响(损失)。 虽然威胁、脆弱性、资产价值是影响风险的因素,但标准定义中风险是“潜在损失的期望值”,即损失乘以概率。选项A是定性评估中常用的简化模型,但D更符合标准定义。
3.以下哪项属于“预防性控制”?
-
A. 日志审计
-
B. 入侵检测系统(IDS)
-
C. 防火墙
-
D. 数据备份
答案:C
解析:
-
预防性控制:旨在防止安全事件发生,如防火墙、访问控制、加密。
-
检测性控制:用于发现已发生的事件,如IDS、日志审计。
-
纠正性控制:用于恢复,如数据备份、灾难恢复。 防火墙通过规则阻止非法访问,属于典型的预防性控制。
4.在风险评估中,“残余风险”是指:
-
A. 未被识别的风险
-
B. 实施安全控制后仍存在的风险
-
C. 被完全消除的风险
-
D. 风险评估过程中遗漏的风险
答案:B
解析:残余风险是指在实施了安全控制措施后,仍然存在的风险。组织需要评估残余风险是否在可接受范围内,若不可接受,则需采取进一步措施。
5.计算机信息计量单位中的K代表
-
A. 102
-
B. 210
-
C. 103
-
D. 28
答案:B
解析:
-
K 是 Kilo 的缩写,在计算机科学中,由于计算机使用二进制系统,1K 等于 2 的 10 次方,即 1024。
-
它常用于表示数据存储容量或内存大小,例如:
-
1 KB (千字节) = 1024 字节 (Byte)
-
1 Kbps (千比特每秒) = 1024 比特每秒
-
6.组成计算机的CPU的两大部件是
-
A.运算器和控制器
-
B. 控制器和寄存器
-
C.运算器和内存
-
D. 控制器和内存
答案:A
解析:
-
运算器 (ALU):负责执行所有的算术运算(如加、减、乘、除)和逻辑运算(如与、或、非、比较)。
-
控制器 (CU):负责从内存中取出指令、解码指令,并协调和控制计算机其他部件(如运算器、内存、输入输出设备)来执行这些指令。
7.Windows的目录结构采用的是
-
A.树形结构
-
B.线形结构
-
C.层次结构
-
D.网状结构
答案:A
解析:
-
根目录为起点:整个文件系统从一个或多个根目录开始(例如
C:
,D:
),每个根目录代表一个逻辑驱动器。 -
分支与子目录:在根目录下可以创建多个文件夹(即目录),每个文件夹下又可以继续创建子文件夹,形成分支。
-
父子关系:目录之间存在明确的父子层级关系。一个父目录可以包含多个子目录和文件,而一个子目录只能有一个直接的父目录。
-
路径表示:通过路径(Path)来定位文件或文件夹。路径由一系列用反斜杠
分隔的目录名组成,从根目录开始直到目标文件或文件夹。例如:
C:UsersUsernameDocumentsfile.txt
。 -
唯一路径:树形结构确保了每个文件或文件夹都有一个唯一的路径,便于管理和查找。
这种结构类似于一棵倒置的树,根目录是树根,各级文件夹是树枝,文件则是树叶,因此被称为“树形结构”或“目录树”。
8.操作系统按其功能关系分为系统层、管理层和( )三个层次。
-
A.数据层
-
B.逻辑层
-
C.用户层
-
D.应用层
答案:D
解析:
-
系统层:也称为内核层,是操作系统最核心的部分,直接管理硬件资源,提供最基本的系统调用和中断处理。
-
管理层:负责对系统的各种资源进行管理和调度,如处理器管理(进程管理)、存储管理、文件管理、设备管理等。
-
应用层:为用户提供操作界面和应用程序接口(API),使用户和应用程序能够方便地使用系统资源。这一层包括命令解释器(如命令提示符、PowerShell)、图形用户界面(GUI)以及各种系统工具和实用程序。
9.组成计算机的CPU的两大部件是
-
A.运算器和控制器
-
B. 控制器和寄存器
-
C.运算器和内存
-
D. 控制器和内存
答案:A
解析:
-
运算器 (ALU):负责执行所有的算术运算(如加、减、乘、除)和逻辑运算(如与、或、非、比较)。
-
控制器 (CU):负责从内存中取出指令、解码指令,并协调和控制计算机其他部件(如运算器、内存、输入输出设备)来执行这些指令。
10.微型计算机的内存容量主要指( )的容量。
-
A. RAM
-
B. ROM
-
C. CMOS
-
D. Cache
答案:A
解析:
-
RAM (Random Access Memory),即随机存取存储器,也叫主存或运行内存。它是计算机中用于临时存储正在运行的程序和数据的部件。当计算机运行程序时,会先将程序和所需数据从硬盘等外部存储设备加载到 RAM 中,CPU 再直接从 RAM 中快速读取和处理这些信息。
11.十进制数27对应的二进制数为
A.1011
B.1100
C.10111
D.11011
答案:D
解析:转换方法(除2取余法):
-
27 ÷ 2 = 13 余 1
-
13 ÷ 2 = 6 余 1
-
6 ÷ 2 = 3 余 0
-
3 ÷ 2 = 1 余 1
-
1 ÷ 2 = 0 余 1
将余数从下往上(从最后一个到第一个)倒序排列:11011。
所以,(27)₁₀ = (11011)₂。
12.将回收站中的文件还原时,被还原的文件将回到( )。
A.桌面上
B.“我的文档”中
C.内存中
D.被删除的位置
答案:D
解析:
-
当你删除一个文件或文件夹时,它并不会立即从硬盘上消失,而是被移动到了“回收站”这个特殊的系统文件夹中,同时系统会记录下它原来的位置。
-
当你选择“还原”回收站中的某个文件时,操作系统会根据这个记录,将文件从回收站移回其原始的文件夹路径中。
13.根据《网络安全法》,网络运营者应当采取哪些措施保障网络安全?(多选)
-
A. 制定内部安全管理制度和操作规程
-
B. 采取防范计算机病毒和网络攻击的技术措施
-
C. 记录并保存网络日志不少于六个月
-
D. 定期开展网络安全认证、检测和风险评估
答案:A、B、C、D
解析:《中华人民共和国网络安全法》第二十一条明确规定了网络运营者的安全保护义务,包括制度建设、技术防护、日志留存(≥6个月)、安全检测评估等,属于强制性要求。
模块2:MISC(杂项)
14.神秘的文本
-
小明收到了一段看似乱码的字符串,他记得朋友说“一层层剥开我的心”。你能帮他解开这段信息吗?
-
Q1RGe0Jhc2U2NElzRXNzZW50aWFsfQ==
考点:
-
Base64 编码与解码
-
基础编码转换
答案:CTF{Base64IsEssential}
解析:
-
使用 Base64 解码工具(如 CyberChef、在线解码网站或 Python 的
base64
模块)解码给定的字符串。解码后得到CTF{Base64IsEssential}
。 -
这已经是 flag,无需再次解码(“套娃”只有一层)。
15.MISC2
-
目的是介绍 Misc 方向中与图片相关的常见出题点;
-
题目按照知识点分类,并尽量保证难度为入门水平;
-
大部分题目仅涉及单一知识点,但可能有多种解法;
-
找到flag并不困难,关键是了解每一题背后的原理;
-
藏在哪?为什么可以这样藏?请多考虑这两个问题;
-
希望能对刚接触 Misc 方向的朋友有所帮助。
考点:文件编码
答案:ctfshow{6f66202f21ad22a2a19520cdd3f69e7b}
解析:解压之后发现是TXT文件,表头有png提示,
把文件类型改为.jpg,ctfshow{6f66202f21ad22a2a19520cdd3f69e7b}
16.有趣的表情包
有趣的表情包
考点:
答案:flag{3XiF_iNf0rM@ti0n}
解析:
1.将下载得到的压缩包解压可得到一张jpg图片
2.右键图片在属性中的详细信息可看见照相机型号,得到一串字符串
3.在winhex中打开图片,下拉到底部,可发现一个flag.txt
4.随后在kali中使用foremost工具进行分离,得到一个压缩包
5.发现此压缩包需要密码,将前面得到的照相机型号字符串进行解密得到密码sdnisc_2018
6.随后可得flag{3XiF_iNf0rM@ti0n}
17.时间的秘密(时间侧信道攻击)
一个简单的登录页面,密码是 6 位纯数字。但每次输入错误,服务器都会告诉你“密码错误”,并且响应时间似乎和密码的正确性有关… 你能利用这一点破解密码吗?
Hint(提示):
-
响应时间越长,说明前面匹配正确的位数越多。
-
单次测量可能不准,考虑多次测量取平均。
-
从第一位开始,逐位爆破。
考点:
-
时间侧信道攻击 (Timing Attack)
-
编程自动化(Python requests)
-
网络延迟处理与平均值计算
答案:CTF{TimeIsTheKey_2025}
解析:
-
分析提供的
login.py
代码,import time
from flask import Flask, request, render_template
app = Flask(__name__)
CORRECT_PASSWORD = "135790" # 真实密码,不会在代码中明示
route('/', methods=['GET', 'POST']) .
def login():
if request.method == 'POST':
user_input = request.form.get('password')
# 经典的时间侧信道漏洞:逐字符比较,匹配则延迟
if len(user_input) != len(CORRECT_PASSWORD):
return "密码长度错误", 400
for i in range(len(user_input)):
if user_input[i] != CORRECT_PASSWORD[i]:
return "密码错误", 400
time.sleep(0.1) # 每匹配一位,延迟 0.1 秒
return "Login Success! Flag is CTF{TimeIsTheKey_2025}", 200
return render_template_string('''
<form method="post">
Password: <input type="text" name="password"><br>
<input type="submit" value="Login">
</form>
''')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)
发现
for
循环中,每成功匹配一位密码,就会sleep(0.1)
秒。 -
编写 Python 脚本,对每一位密码(0-9)进行测试。
-
对每个候选数字,发送多次请求(例如 3-5 次),测量平均响应时间。
-
响应时间最长的那个数字,极大概率就是该位的正确密码(因为它触发了更多的
sleep
)。 -
依次确定每一位,最终得到完整密码
135790
。 -
使用正确密码登录,获取 flag。
18.流量分析1
There are many zip files.
考点:
答案:flag{c6db63e6-6459-4e75-bb37-3aec5d2b947b}
解析:
法一:
1. 在流量包中对http进行过滤,随后全局搜索flag,即可得到flag
法二:
1. 对流量包中的http导出,可发现046.zip大小与其他文件不一致
2. 导出后对其进行解压,可得flag{c6db63e6-6459-4e75-bb37-3aec5d2b947b}
模块3:Crypto(密码学)
19.古典密码的问候
-
欢迎来到密码学的世界!在开始之前,先来破译一段简单的古典密码吧。
-
密文:Wkh txlfn eurzq ira mxpsv ryhu wkh odcb grj.
考点:
-
古典密码(凯撒密码)
-
密码分析基础
答案:flag{the_quick_brown_fox_jumps_over_the_lazy_dog}
解析:
-
观察密文,发现其由英文字母组成,且有空格分隔,符合英文句子的特征。
-
提示“凯撒一下?”明确指向凯撒密码(Caesar Cipher)。
-
凯撒密码是通过将字母表中的每个字母向前或向后移动固定位数(偏移量)来加密的。
-
最简单的破解方法是暴力枚举所有可能的偏移量(0-25)。
-
尝试偏移量为3时,
Wkh
->The
,txlfn
->quick
,eurzq
->brown
,lra
->fox
。这已经形成了有意义的英文单词 “The quick brown fox”。 -
继续解密整个句子,得到明文。
20.Caesar’s Echo (凯撒的回声)
-
古老的凯撒大帝留下了一条加密信息,据说其中隐藏着一个简单的秘密。你能破译它吗?
-
密文: Uryyb, Jbeyq! V’z n pvcuregrkg gung unf orra rapbqrq jvgu n fnsr nern.
考点:
答案:flag{hello_world}
解析:
21.RSA 的共模攻击
-
我们发现了两份使用相同RSA公钥模数 n 但不同公钥指数 e1 和 e2 加密的密文。更糟糕的是,这两个指数 e1 和 e2 是互质的!
已知信息:
-
公钥模数 n: 1434890719
-
公钥指数 e1: 17
-
公钥指数 e2: 23
-
密文 c1 (使用 e1 加密): 123456789
-
密文 c2 (使用 e2 加密): 987654321
任务:恢复出原始的明文消息 m(即Flag)。
考点:
-
RSA 加密算法
-
数论基础(最大公约数、扩展欧几里得算法)
-
共模攻击(Common Modulus Attack)
-
费马小定理/欧拉定理
答案:flag{r5a_c0mm0n_m0duluz_4tt4ck}
(实际值由计算出的 m
决定,此处为示例)
解析:
-
理解共模攻击的前提:相同的
n
,不同的互质的e1
和e2
,加密了相同的明文m
。 -
根据RSA,有:
-
c1 ≡ m^e1 mod n
-
c2 ≡ m^e2 mod n
-
-
因为
e1
和e2
互质,根据贝祖定理,存在整数s
和t
使得s*e1 + t*e2 = 1
。 -
使用扩展欧几里得算法求解
s
和t
。 -
利用这个等式,可以恢复明文:
-
c1^s * c2^t ≡ (m^e1)^s * (m^e2)^t ≡ m^(s*e1 + t*e2) ≡ m^1 ≡ m mod n
-
-
计算
m = (c1^s * c2^t) mod n
即可得到明文。参考代码:
from math import gcd
from Crypto.Util.number import inverse
def extended_gcd(a, b):
"""扩展欧几里得算法"""
if a == 0:
return b, 0, 1
gcd, x1, y1 = extended_gcd(b % a, a)
x = y1 - (b // a) * x1
y = x1
return gcd, x, y
# 已知信息
n = 1434890719
e1 = 17
e2 = 23
c1 = 123456789
c2 = 987654321
# 检查 e1 和 e2 是否互质
assert gcd(e1, e2) == 1, "e1 and e2 must be coprime"
# 使用扩展欧几里得算法求解 s 和 t,使得 s*e1 + t*e2 = 1
gcd_val, s, t = extended_gcd(e1, e2)
assert gcd_val == 1 and s*e1 + t*e2 == 1, "Failed to find Bezout coefficients"
# 注意:s 或 t 可能为负数,需要处理模逆
if s < 0:
# c1^s mod n = (c1^-1)^(-s) mod n
c1_inv = inverse(c1, n)
part1 = pow(c1_inv, -s, n)
else:
part1 = pow(c1, s, n)
if t < 0:
c2_inv = inverse(c2, n)
part2 = pow(c2_inv, -t, n)
else:
part2 = pow(c2, t, n)
# 计算明文 m
m = (part1 * part2) % n
print(f"Recovered plaintext m: {m}")
# 假设 m 是一个整数,转换为字节得到Flag
flag = m.to_bytes((m.bit_length() + 7) // 8, 'big').decode()
print(f"Flag: {flag}")
设计思路:此题考察对RSA底层数学原理的深入理解。共模攻击是一个经典的理论攻击,要求选手熟练掌握数论知识和扩展欧几里得算法。题目设计了一个典型的攻击场景,即相同的模数被用于多个公钥,这是实际部署中应避免的严重错误。
21.信息泄露的艺术
-
小明搭建了一个测试网站,他觉得非常安全,因为他没有做任何登录功能。你能从这个页面中找到管理员留下的“秘密”吗?
-
目标:找到 flag 并提交。
考点:
-
.phpinfo()
信息泄露 -
敏感文件暴露
-
基础路径遍历意识
答案:flag{php_info_leak_is_dangerous}
解析:
-
用户访问
/
只看到一个欢迎页。 -
尝试常见敏感路径如
/flag.php
或使用 dirsearch 扫描。 -
访问
/flag.php
后,页面执行phpinfo()
,在大量信息中搜索关键词flag
。 -
在 PHP 配置或变量区域发现
$flag
的值(实际显示内容中会直接输出)。 -
得到 flag:
flag{php_info_leak_is_dangerous}
原创文章,作者:修行,如若转载,请注明作者昵称:修行及出处:https://www.xiuxingstudio.com/computer/information_security/4846.html