版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年网络安全工程师CTF夺旗赛基础知识点测试题及答案一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个选项中,只有一项是符合题目要求的)1.在CTF比赛中,Misc(杂项)类别经常涉及隐写术。关于LSB(LeastSignificantBit,最低有效位)隐写,下列说法正确的是()。A.它是通过修改文件的高位比特来隐藏数据的B.它只能用于PNG格式的图片,不能用于BMPC.修改最低有效位通常不会引起图片视觉上的明显变化D.LSB隐写后的文件大小会显著增加2.在Web安全中,SQL注入是一种常见的漏洞。以下哪个SQL语句片段使用了最经典的基于联合查询的注入方式?()A.`SELECT*FROMusersWHEREuser='$input'`B.`SELECT*FROMusersWHEREuser=1OR1=1`C.`SELECT*FROMusersWHEREuser='admin'UNIONSELECTNULL,NULL,NULL--`D.`SELECT*FROMusersWHEREuser=';DROPTABLEusers;--`3.在RSA加密算法中,若公钥为(e,n),私钥为d,则加密过程A.c=(B.c=(C.c=mD.c=+4.在Linux系统中,权限管理是基础知识点。若一个文件的权限显示为`-rwsr-xr-x`,那么关于该文件描述错误的是()。A.这是一个可执行文件B.文件所有者有读、写和执行权限C.该文件设置了Set-UID位D.其他用户没有执行权限5.在CTFPWN题中,利用栈溢出漏洞时,经常需要覆盖返回地址。在32位x86架构下,函数的返回地址通常存储在哪个寄存器指向的内存位置?()A.EAXB.EBXC.ESPD.EBP6.以下哪种编码方式常用于将二进制数据转换为ASCII字符串格式,且在CTF中经常作为简单的编码层出现,其特征是结尾通常有`=`号?()A.URL编码B.Base64编码C.Hex编码D.ASCII编码7.在HTTP协议中,用于告知服务器客户端在本次请求中携带的数据类型的头字段是()。A.`Accept`B.`Content-Type`C.`User-Agent`D.`Referer`8.针对XSS(跨站脚本攻击),存储型XSS与反射型XSS的主要区别在于()。A.存储型XSS需要用户点击链接,反射型不需要B.存储型XSS的恶意脚本被服务器存储在数据库中,反射型XSS恶意脚本存在于URL中C.存储型XSS只攻击IE浏览器,反射型XSS攻击所有浏览器D.存储型XSS是GET请求,反射型XSS是POST请求9.在Python代码审计中,`pickle`模块存在严重的安全风险。这是因为`pickle`在反序列化(`loads`)时,如果数据被精心构造,可以导致()。A.SQL注入B.任意代码执行C.文件读取D.路径遍历10.在CTFReverse(逆向工程)题目中,`.elf`文件通常代表什么?()A.Windows可执行文件B.Linux可执行文件C.macOS可执行文件D.Android安装包11.常见的对称加密算法中,AES(AdvancedEncryptionStandard)的标准分组长度是()。A.64位B.128位C.256位D.512位12.在CTF流量分析题中,攻击者常使用ICMP协议进行隐蔽信道传输。Wireshark过滤器中,用于筛选ICMP流量的表达式是()。A.`tcp.port==80`B.`udp`C.`icmp`D.`http`13.以下关于哈希函数的描述,正确的是()。A.MD5算法是抗碰撞的,即无法找到两个不同的输入产生相同的输出B.SHA-256比MD5计算速度更快C.哈希函数是单向的,从哈希值很难推导出原始明文D.哈希函数可以将任意长度的输入转换为固定长度的输出,且输出长度可变14.在Git泄露漏洞中,CTF选手通常会下载`/.git`目录。恢复历史版本代码最常用的工具是()。A.GitHackB.DirBusterC.BurpSuiteD.SQLMap15.在X86汇编中,`ret`指令的操作等价于()。A.`popebp`B.`popeip`(概念上,实际上是`popeip`的效果,即`eip=[esp],esp+=4`)C.`jmpesp`D.`moveax,1`16.下列关于PHP伪协议的说法,错误的是()。A.`php://filter`可以用于读取文件内容并进行base64编码,常用于绕过死亡退出B.`data://`协议可以用于执行PHP代码C.`file://`协议用于访问本地文件系统D.`php://input`只能用于读取POST请求的原始数据,不能用于执行命令17.在CTFWeb题中,`md5(ETA.PHP的md5函数本身有后门B.MD5碰撞生成的特定二进制数据以`0e`开头被当作科学计数法数字处理C.特殊的MD5哈希值其二进制形式经过Raw输出后,其SQL语法特殊D.字符串强制转换后相等18.在数字取证中,`Volatility`是一款强大的内存分析工具。以下哪个命令用于查看进程列表?()A.`pslist`B.`netscan`C.`malfind`D.`imageinfo`19.在Windows环境下,PE文件结构中,负责导出表信息的目录项是()。A.IMAGE_DIRECTORY_ENTRY_IMPORTB.IMAGE_DIRECTORY_ENTRY_EXPORTC.IMAGE_DIRECTORY_ENTRY_RESOURCED.IMAGE_DIRECTORY_ENTRY_SECURITY20.在CTF中,关于“盲注”的描述,下列不正确的是()。A.盲注通常发生在页面不返回数据库具体错误信息,只返回页面是否正常的情况下B.布尔盲注通过构造逻辑语句,根据页面回显的真假来判断C.时间盲注利用`sleep()`或`benchmark()`等函数,根据数据库响应时间来判断D.盲注比联合查询注入更难利用,但无法通过自动化工具(如SQLMap)进行二、多项选择题(本大题共10小题,每小题3分,共30分。在每小题给出的四个选项中,有多项是符合题目要求的。全部选对得3分,少选得1分,错选不得分)21.以下哪些属于CTF比赛中的主要竞赛方向?()A.WebB.CryptoC.PWND.AI绘画22.针对SQL注入攻击,以下哪些是有效的防御手段?()A.使用预编译语句B.对特殊字符进行严格的过滤和转义C.使用ORM框架D.在报错信息中直接回显数据库错误详情23.在CTFPWN题目中,常见的保护机制有哪些?()A.NX/DEP(不可执行)B.ASLR(地址空间布局随机化)C.Canary(栈金丝雀)D.StackOverflow(栈溢出)24.以下哪些工具常用于端口扫描和服务识别?()A.NmapB.MasscanC.NetcatD.JohntheRipper25.关于XSS的防御,以下做法正确的有?()A.设置`Content-Security-Policy`(CSP)头B.对输出到HTML上下文中的用户输入进行HTML实体编码C.对输出到JavaScript上下文中的用户输入进行JavaScript转义D.只要在前端做JavaScript校验即可,无需后端处理26.在CTF密码学题目中,古典密码可能包括哪些?()A.凯撒密码B.维吉尼亚密码C.栅栏密码D.RSA密码27.以下哪些文件格式可能包含EXIF信息,从而成为隐写术的载体?()A.JPGB.PNGC.MP3D.TXT28.在LinuxBash中,以下哪些符号是重定向或管道符号?()A.`>`B.`>>`C.`|`D.`&`29.针对文件上传漏洞,以下哪些是有效的绕过前端JS校验的方法?()A.使用BurpSuite抓包修改文件后缀名B.禁用浏览器的JavaScriptC.使用Python脚本直接发送POST请求D.在文件名中添加`0x00`截断字符(在旧版本PHP中有效)30.在CTF逆向工程中,静态分析工具有哪些?()A.IDAProB.GhidraC.OllyDbgD.WinDbg三、填空题(本大题共15小题,每小题2分,共30分)31.在HTTP状态码中,`403`状态码表示__________。32.在Linux系统中,存放用户账户信息的文件是__________。33.在CTF中,Base64编码后的字符集包含大小写字母、数字和`+`、`/`,以及用于填充的__________。34.AES加密算法中,若密钥长度为128位,则需要进行__________轮的运算。35.在X86汇编中,`call`指令执行的操作相当于先`pusheip`(或压入返回地址),然后__________。36.PHP中,`serialize()`函数将对象转换为字符串,`__________`函数将字符串还原为对象。37.在CTFWeb中,命令注入漏洞常利用的分隔符包括`;`、`|`、`||`和__________。38.二进制补码中,8位有符号整数`11111111`表示的十进制数是__________。39.常见的Web中间件Apache的默认配置文件通常位于`/etc/apache2/`或`/etc/httpd/`下的__________。40.在CTF中,一种基于异或运算的简单流密码,其密钥长度通常为1,称为__________密码。41.Python的`__import__`函数可以动态导入模块,在沙箱逃逸中常被用来绕过导入限制,例如`__________`可以导入`os`模块。42.DNS协议中,查询类型为`TXT`的记录常用于__________。43.在CTF隐写中,使用`steghide`工具提取信息时,如果不使用密码,可以使用`__________`参数尝试空密码。44.快速排序算法的平均时间复杂度是__________。45.在CTF中,Flag的格式通常为`flag{...}`,但有时也使用`__________{...}`的格式。四、简答题(本大题共5小题,每小题10分,共50分)46.简述SQL注入中的盲注原理,并给出一个基于布尔盲注的Payload示例(假设数据库名为`ctf`)。47.解释堆溢出与栈溢出的主要区别,并说明在Linux下利用堆溢出的常见思路(如HouseofSpirit)。48.简述XSS中的DOM型XSS与反射型XSS的区别,并给出一个简单的DOM型XSS代码片段示例。49.在RSA算法中,已知p=17,q=11,e=7。请计算模数50.描述TCP三次握手的过程,并说明SYNFlood攻击是如何利用这一过程瘫痪服务器的。五、综合应用题(本大题共4小题,每小题15分,共60分)51.Web应用题:某CTF比赛网站存在一个登录页面,代码逻辑如下:```php<?phpinclude("flag.php");uspaif($username==='admin'){if(md5(paecho$flag;}else{echo"Wrongpassword!";}}else{echo"Wrongusername!";}?>```请分析代码逻辑,说明如何绕过验证获取Flag。提示:PHP弱类型比较。52.密码学应用题:在一道CTFCrypto题目中,你获得了以下信息:加密算法为仿射密码,其加密公式为c=已知明文`flag`对应的密文为`leym`。请通过计算求出密钥a和b,并写出解密公式。53.逆向工程应用题:给出一段32位汇编代码片段,分析其功能并写出输出结果。假设初始状态:`eax=5`,`ebx=3`,`ecx=0`,`edx=0`。```assemblymovecx,eaxaddecx,ebximulecx,ecxsubecx,eaxmovedx,ecxsaredx,1```请计算寄存器`edx`的最终值。54.PWN综合题:给定一个存在栈溢出的C程序片段:```cinclude<stdio.h>include<string.h>voidvuln(){charbuffer[32];gets(buffer);printf("Hello,%s\n",buffer);}intmain(){vuln();return0;}```假设开启了NX保护(堆栈不可执行),但在程序中存在`system("/bin/sh")`函数(其地址为`0x080484d0`)。请构造一个Payload,利用ret2libc技术获取Shell。请说明Payload的构造原理及各部分的作用。参考答案及详细解析一、单项选择题1.C解析:LSB隐写术是通过修改图像像素的最低有效位来嵌入数据的。由于最低有效位的变化非常微小(例如,数值从254变为255),人眼通常无法察觉这种颜色变化,因此C正确。A错误,修改的是低位;B错误,BMP、PNG等无损格式均可使用;D错误,文件大小通常保持不变或仅有文件头微调,不会显著增加。2.C解析:C选项使用了`UNION`操作符,这是联合查询注入的核心特征,用于合并查询结果。A是普通查询;B是布尔盲注或逻辑注入;D是堆叠查询注入。3.B解析:RSA算法中,公钥用于加密c=(mod4.D解析:权限`-rwsr-xr-x`中,`s`位出现在文件所有者的执行权限位置,表示Set-UID。最后三位`r-x`表示其他用户有读和执行权限,所以D描述错误。5.C解析:ESP(StackPointer)栈指针寄存器始终指向栈顶。函数返回地址位于栈顶区域,当函数执行完毕,`ret`指令会从栈顶弹出返回地址给EIP。6.B解析:Base64编码将3字节(24位)转换为4个字符(每个6位),为了处理非3字节倍数的数据,会使用`=`进行填充。URL编码是`%`,Hex是`0-9a-f`。7.B解析:`Content-Type`头字段用于指示请求体或响应体的媒体类型(MIMEtype),如`application/x-www-form-urlencoded`。`Accept`是客户端告诉服务器自己能接受什么类型。8.B解析:存储型XSS的恶意脚本被持久化存储在数据库中,每次访问页面时触发;反射型XSS的恶意脚本存在于URL参数中,服务器反射回浏览器立即触发。9.B解析:Python的`pickle`模块在反序列化时,如果数据中包含`__reduce__`等魔术方法定义的操作,可以实例化任意对象并调用函数,从而导致任意代码执行(RCE)。10.B解析:.elf是ExecutableandLinkableFormat的缩写,是Linux下的标准可执行文件格式。Windows是.exe/pe,macOS是Mach-O。11.B解析:AES标准分组长度固定为128位(16字节)。密钥长度可以是128、192或256位。12.C解析:Wireshark过滤器`icmp`用于筛选ICMP协议包。A是TCP端口80,B是UDP,D是HTTP协议。13.C解析:哈希函数是单向的(雪崩效应,不可逆),且输出长度固定。A错误,MD5已被证明不抗碰撞;B错误,SHA-256通常比MD5计算慢,因为更复杂。14.A解析:GitHack、Git_Extract等工具专门用于利用`.git`目录泄露漏洞恢复源代码。DirBuster是目录扫描工具。15.B解析:`ret`指令的逻辑等同于`popeip`,即将栈顶的值弹出给EIP(指令指针寄存器),从而实现跳转。16.D解析:`php://input`可以读取POST的原始数据,但如果配合`include()`或`file_get_contents()`且在特定配置下,也可以用来执行代码(如果POST内容是PHP代码且文件包含漏洞存在)。但单纯说“不能用于执行命令”是不准确的,更严谨的错误在于D的绝对化。实际上,在CTF中,`php://input`常用于`include('php://input')`来执行代码。但D说“只能用于...不能用于...”略显绝对,不过相比之下,其他选项明显正确。修正:实际上D选项在严格技术层面是错误的,因为`php://input`可以配合文件包含漏洞执行代码。A、B、C描述均正确。17.C解析:`md5(string,true)`返回的是二进制Raw数据。某些特殊的MD5碰撞生成的二进制数据,其SQL语法结构特殊(如包含`'OR'`等),当被拼接到SQL语句中时,可以绕过某些特定的逻辑判断,或者利用其特殊的二进制结构导致类型混淆。注:选项B是`md5(a)==18.A解析:`pslist`是Volatility中最常用的查看进程列表的命令。`netscan`查看网络连接,`malfind`查找注入的代码,`imageinfo`查看镜像信息。19.B解析:`IMAGE_DIRECTORY_ENTRY_EXPORT`对应导出表,`IMAGE_DIRECTORY_ENTRY_IMPORT`对应导入表。20.D解析:盲注虽然利用困难,但SQLMap等工具完全支持布尔盲注和时间盲注的自动化利用。二、多项选择题21.ABC解析:CFI主要方向包括Web,Crypto,PWN,Reverse,Misc,Forensics等。AI绘画不是CTF标准方向。22.ABC解析:预编译、过滤转义、ORM都是有效的防御手段。D选项直接回显错误信息会帮助攻击者调试,是错误的。23.ABC解析:NX,ASLR,Canary都是保护机制。StackOverflow是漏洞类型,不是保护机制。24.AB解析:Nmap和Masscan是端口扫描工具。Netcat是网络调试工具(瑞士军刀),JohntheRipper是密码破解工具。25.ABC解析:CSP头、HTML实体编码、JS转义都是有效防御。D选项前端校验极易绕过,必须后端校验。26.ABC解析:凯撒、维吉尼亚、栅栏都是古典密码。RSA是现代公钥密码。27.ABC解析:JPG,PNG,MP3等多媒体文件格式通常支持EXIF或元数据存储,TXT纯文本通常不支持EXIF。28.ABC解析:`>`覆盖重定向,`>>`追加重定向,`|`管道。`&`是后台运行(虽与重定向有关联,但不是重定向符号本身)。29.ABC解析:抓包修改、禁用JS、Python脚本均可绕过前端JS。D选项`00`截断是文件上传漏洞利用的一种方式,但它是利用后端解析漏洞,不仅仅是绕过前端JS。不过题目问的是“绕过前端JS校验”,D通常也归类于此类利用,但严格来说ABC是通用的。修正:D也是上传绕过的一种常见手段,但针对“前端JS”这一特定限制,ABC最为直接。但在CTF语境下,D常被提及。这里选ABC最稳妥,若全选D亦可视为利用方式。标准答案倾向于ABC。30.AB解析:IDAPro和Ghidra是静态分析工具(反汇编/反编译)。OllyDbg和WinDbg是动态调试器。三、填空题31.Forbidden(禁止访问)32./etc/passwd33.=34.10解析:AES-128需要10轮,AES-192需要12轮,AES-256需要14轮。35.jmp目标地址36.unserialize37.&&38.-1解析:8位补码`11111111`是-1的原码补码形式。39.httpd.conf(或apache2.conf)40.XOR41.__import__('os')42.SPF记录/文本信息43.-p(或--passphrase,且密码为空)44.O(nlogn)45.flag(或ctf,key等,通常为flag)四、简答题46.答:盲注原理:攻击者无法从页面上直接看到数据库的查询结果,只能通过页面的反应(如HTTP状态码、页面内容是否有变化、响应时间长短)来判断SQL语句执行的真假。布尔盲注Payload示例(猜测数据库名第一个字符是否为'c'):`?user=1'AND(SELECTSUBSTRING(database(),1,1))='c'--`若页面返回正常(True),则说明首字母为'c';若返回异常(False),则说明不是。47.答:主要区别:1.位置不同:栈溢出发生在栈内存区域(局部变量、函数调用);堆溢出发生在堆内存区域(动态分配,如malloc/new)。2.分配方式:栈由系统自动管理;堆由程序员手动管理。3.利用方向:栈溢出通常覆盖返回地址控制EIP;堆溢出通常覆盖堆块元数据(如fd、bk指针)或函数指针,在unlink等操作时控制执行流。利用思路(HouseofSpirit):HouseofSpirit是一种堆利用技术,攻击者通过在栈上伪造一个假的堆块,然后通过操作(如free)将这个伪造的堆块加入到fastbin中。当再次分配时,可以分配到栈上的地址,从而向栈中写入数据(如Gadgets),最终控制程序执行流。48.答:区别:DOM型XSS的恶意代码出没点在于DOM解析阶段,不需要经过服务器,纯前端JavaScript逻辑漏洞。反射型XSS的恶意代码经过服务器处理,服务器将输入反射回响应体中。DOM型XSS示例:```html<script>varhash=document.location.hash;document.write(hash.substring(1));//直接写入URL中#后的内容</script>```若URL为`page.html#<imgsrc=xonerror=alert(1)>`,脚本会将标签写入页面并执行。49.答:计算过程:1.模数n=2.欧拉函数ϕ(3.私钥d满足e×d≡使用扩展欧几里得算法求解:1607反向代入:1=所以d=答案:n=50.答:三次握手过程:1.Client发送SYN包给Server,进入SYN_SENT状态。2.Server收到SYN,回复SYN+ACK包,进入SYN_RCVD状态。3.Client收到SYN+ACK,回复ACK包,双方进入ESTABLISHED状态。SYNFlood攻击原理:攻击者伪造大量源IP地址(通常是随机不存在或不可达的IP),向服务器发送大量的SYN包。服务器收到SYN后,回复SYN+ACK,并建立半连接(SYN_RCVD状态),放入Backlog队列,等待客户端的ACK。由于源IP是伪造的,服务器永远收不到ACK,导致大量连接处于SYN_RCVD状态,耗尽服务器的Backlog资源或内存,从而无法处理正常的连接请求。五、综合应用题51.分析:代码中`if($username==='admin')`使用了强比较`===`,必须完全等于字符串'admin'。关键在于`if(md5(pa利用方法:在PHP中,MD5函数处理数组时会发生警告或错误,并返回`NULL`。即`md5(array())===NULL`。如果`md如果`mdPayload:`?user=admin&pass[]=any`52.解:仿射密码公式:c=已知明文`flag`对应密文`leym`。将字母转换为数字(a=0,f=5,l=11,g=6;l=11,e=4,y=24,m=12)。取第一组数据:m=5(f),方程1:11=取第二组数据:m=11(l),方程2:4=方程2方程1:4−19求6在模26下的乘法逆元。6×尝试a的值。因为19=当k=1时,19+当k=−1当k=−2当k=2时,当k=3时,重新检查方程计算。114相减:−7即6a我们需要找到一个数a,使得6aa=15时,6×a=5时,a=9时,a=11时,a=7时,a=8时,a=3时,修正计算:11代入第二式:466尝试k=1,6a=45(No);k尝试负数:k=注:可能是题目数值选取导致无解或我计算有误,让我们重新审视字母对应。f(5)->l(11):5l(11)->e(4):11相减:6a6xgcd(6,26)这意味着题目给出的明文密文对在标准仿射密码下可能不匹配,或者使用了变体。但在CTF中,通常假设有解。让我们换一组数据试试:f(5)->l(11),g(6)->y(24)。56相减:a=代入:65+验证l(11×167(结果是1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 疱疹病毒感染护理措施
- 京东工业品融资协议书
- 传承雷锋精神 志愿与我同行
- 2026湖北荆门市京山市高中(中职)学校教师专项招聘25人备考题库附参考答案详解(b卷)
- 2026黑龙江哈尔滨工业大学电气工程及自动化学院现代电子技术研究所招聘备考题库带答案详解(培优a卷)
- 2026河南郑州管城回族区人民医院招聘4人备考题库及答案详解一套
- 2026陕西西安未央汉城医院招聘6人备考题库含答案详解(综合卷)
- 血液科输血管理规范
- 2026吴忠赛马新型建材有限公司技术管理岗位招聘2人备考题库附答案详解(培优)
- 2026四川宜宾汇发产业新空间投资有限公司第一批员工招聘5人备考题库带答案详解(夺分金卷)
- 英文科技论文写作
- 水玻璃贴衬花岗岩新技术
- 云县病死畜禽无害化处理项目环评报告
- XX县群文阅读课题中期成果报告:县域性推进小学群文阅读教学实践研究中期研究成果报告课件
- 牙体代型制备与修整(口腔固定修复工艺课件)
- GB/T 38658-20203.6 kV~40.5 kV交流金属封闭开关设备和控制设备型式试验有效性的延伸导则
- GA/T 1047-2013道路交通信息监测记录设备设置规范
- 2023年成都天府新区投资集团有限公司招聘笔试模拟试题及答案解析
- 通用设备经济寿命参考年限表
- 城市超标洪水防御预案
- 安全生产应知应会培训课件
评论
0/150
提交评论