高校联盟CTF杯WP

#这是一篇记录我作为ctf小白的学习笔记,仅供交流学习

选择

1.CTF比赛

CTF比赛的主要目标是什么?常见的CTF赛制有哪些?

A. 探索漏洞、获取敏感数据;常见赛制有解题赛、攻防赛 B. 编写代码、提交解决方案;常见赛制有编程赛、解题赛 C. 开发安全工具、修复漏洞;常见赛制有编程赛、实战攻防 D. 优化网络性能、修复漏洞;常见赛制有解题赛、编程赛

解:A

CTF比赛的主要目标是评估和提升参赛者在网络安全领域的技能和知识‌。参赛者需展示渗透测试、漏洞分析、密码学和反向工程等技术能力,以及对网络安全攻防战略和战术的理解。通过比赛,参赛者可以锻炼团队合作、问题解决和逆向思维等能力‌。

常见的CTF赛制包括:

  • 解题赛(Jeopardy)‌:参赛队伍或个人解决一系列不同类别的挑战,每个挑战都有一定分值,难度越高分值越大‌。

  • 攻防赛(Attack-Defense)‌:每支队伍都有自己的网络或系统,同时需要攻击对手的系统并防御自己的系统不被攻破‌。

  • 混合赛‌:结合解题赛和攻防赛两种形式的元素‌。

2.弱口令

下列哪项措施可以有效防止弱口令的使用?

A. 限制用户登录尝试次数 B. 强制执行复杂密码策略 C. 实施多因素认证 D. 以上所有选项

解:D

  1. A选项:限制用户登录尝试次数‌:

    • 这种措施主要是为了防止暴力破解攻击,即通过大量尝试来猜测密码。它并不直接针对弱口令问题,但可以在一定程度上减少弱口令被破解的风险。然而,它并不是直接防止弱口令使用的有效措施。

  2. B选项:强制执行复杂密码策略‌:

    • 这种措施要求用户设置符合特定复杂度要求的密码,如包含大小写字母、数字和特殊字符,且长度达到一定标准。这直接针对弱口令问题,因为复杂密码策略能有效提高密码的强度,从而防止弱口令的使用。

  3. C选项:实施多因素认证‌:

    • 多因素认证要求用户在登录时提供多种身份验证信息,如密码、指纹、验证码等。这种措施增加了登录的安全性,即使密码较弱,也能通过其他认证因素来增强整体的安全性。虽然它不直接防止弱口令的使用,但可以作为额外的安全层来减少弱口令带来的风险。

综合考虑,虽然A和C选项能在一定程度上增强系统的安全性,但B选项“强制执行复杂密码策略”是最直接且有效地防止弱口令使用的措施。然而,题目询问的是“可以有效防止弱口令的使用的措施”,并没有限定只能选择一个选项,因此所有能增强安全性、减少弱口令风险的措施都应被视为有效。

因此,答案是 ‌D. 以上所有选项‌。这些措施各自在不同方面增强了系统的安全性,共同作用下能更有效地防止弱口令的使用及其带来的风险。

3.SQL注入

SQL注入攻击的主要原因是什么?

A. 网络延迟问题 B. 数据库访问权限过高 C. 用户输入未经验证直接插入SQL语句 D. 数据库版本过低

解:C

SQL注入攻击是发生于应用程序与数据库层的安全漏洞,指的是用户在输入的字符串之中注入SQL指令,进而发动攻击的行为。这种攻击发生的主要原因是程序对用户输入数据的合法性没有判断和处理,导致攻击者可以在Web应用程序中事先定义好的SQL语句中添加额外的SQL语句,实现非法操作。简而言之,就是在用户输入的字符串中加入SQL语句,如果程序忽略了检查,这些注入的SQL语句就会被数据库服务器误认为是正常的SQL语句而运行,导致攻击发生‌。

4.文件上传

在文件上传功能中,如何通过恶意文件上传进行Web服务器的控制?以下哪个选项是正确的?

A. 上传带有特定后缀的文本文件 B. 上传脚本文件并利用服务器对文件的执行权限 C. 修改上传文件的名称以绕过文件检查 D. 直接上传二进制文件进行命令执行

解:B

A. 上传带有特定后缀的文本文件 - 文本文件通常不会被Web服务器执行,除非它们被特定配置为可执行,因此这不是一个有效的攻击手段。

B. 上传脚本文件并利用服务器对文件的执行权限 - 这是一个有效的方法。如果用户能上传如PHP、ASP、JSP等脚本文件,并且服务器配置为执行这些文件,那么用户就可以编写恶意脚本来控制服务器。

C. 修改上传文件的名称以绕过文件检查 - 仅仅修改文件名不太可能使文件变得可执行或绕过所有安全检查,除非服务器的安全措施非常薄弱。

D. 直接上传二进制文件进行命令执行 - 直接上传二进制文件(如.exe文件)通常不是Web服务器支持的,除非服务器被配置为执行这类文件,这在大多数情况下是不常见的。

综上所述,最有效的方法是上传脚本文件并利用服务器对文件的执行权限。因此,正确答案是:

B. 上传脚本文件并利用服务器对文件的执行权限。

5.命令执行

命令执行漏洞通常发生在以下哪种场景中?

A. 当用户输入未经验证的数据并通过系统命令执行时 B. 数据库未加密的情况下直接查询 C. 系统未配置防火墙时 D. 网页前端使用了弱加密方式

解:A

当用户输入未经验证的数据并通过系统命令执行时‌。这种漏洞允许攻击者通过构造恶意输入,绕过应用程序的安全机制,执行任意系统命令。这通常发生在应用程序或系统未对用户输入进行充分验证或过滤的情况下,导致攻击者能够注入恶意命令并执行。因此,为了防止命令执行漏洞,开发人员应该对用户输入进行严格的验证和过滤,避免直接拼接用户输入到系统命令中,并使用安全的API或函数来执行系统命令‌。

6.目录扫描

文件目录扫描工具

以下哪个工具最常用于进行Web应用程序的文件和目录扫描?

A. Burp Suite

B. Nikto

C. DirBuster

D. Nmap

解:C

Gobuster和Dirsearch是最常用于进行Web应用程序的文件和目录扫描的工具‌。

  • Gobuster是一个开源的命令行工具,专为安全研究人员和渗透测试者设计,用于发现Web应用程序中的隐藏目录、文件和URL。它支持多种HTTP方法,可以自定义代理服务器,并能够处理重定向,使测试更加灵活和深入‌。

  • Dirsearch也是一个流行的目录扫描工具,可以扫描站点的敏感目录和文件等信息,如站点的后台登录地址或数据库备份文件等。它支持多线程、多种后缀,并可以生成报告‌。

这些工具在渗透测试和Web安全评估中发挥着重要作用,帮助安全人员发现潜在的安全风险。

除了Gobuster和Dirsearch,还有许多常用的Web应用程序文件和目录扫描工具,包括但不限于:

  • DIRB‌:一个Web内容扫描器,基于字典工作,适用于Kali Linux。

  • Nikto‌:一个开源的webserver扫描工具,用于检测Web服务器的配置错误和已知漏洞。

  • DirBuster‌:一款图形化工具,通过字典爆破方式扫描Web目录和文件。

  • Dirmap‌:一个用于目录枚举和扫描的工具,可帮助发现隐藏的目录和文件。

  • Ffuf‌:快速且灵活的Web目录和参数扫描工具,支持并发请求和多种过滤选项。

  • Goby‌:一款新的网络安全测试工具,支持文件和目录扫描,能够针对目标企业进行全面的攻击面分析。

  • Nessus‌:网络漏洞扫描器,可扫描多种操作系统、应用程序和设备,包括Web服务器。

这些工具各有特点,用户可以根据具体需求选择合适的工具进行Web应用程序的安全扫描。

7.端口扫描

端口扫描工具

以下哪个工具是广泛用于执行网络端口扫描的工具?

A. Aircrack-ng

B. Nessus

C. Nmap

D. John the Ripper

解:C

Nmap是广泛用于执行网络端口扫描的工具‌。Nmap(Network Mapper)是一款开源的网络扫描工具,由Gordon Lyon(也称为Fyodor)于1997年发布。它不仅可以用于网络中设备的探测,还可以进行端口扫描、服务识别、操作系统检测等多种功能。Nmap支持多种扫描技术,能够快速探测网络中的主机和服务,是网络安全和网络管理中不可或缺的工具之一‌。

Aircrack-ng主要用于无线网络安全测试和密码破解;Nessus是一种网络漏洞扫描工具,用于评估系统安全性;John the Ripper则是一款密码破解工具,主要用于破解各种类型的密码。这些工具虽然各有特色,但在网络端口扫描方面,Nmap无疑是最为广泛使用的工具‌。

8.未授权的脚本代码

以下哪种漏洞通常允许攻击者在Web应用程序中执行未经授权的脚本代码?

A. SQL注入

B. 跨站脚本攻击 (XSS)

C. 命令注入

D. 文件上传漏洞

解:B

A. ‌SQL注入‌:这是一种攻击手段,其中攻击者试图通过应用程序的输入字段注入SQL代码,以操纵后端数据库。它主要关注数据库层面的操作,而不是在Web应用程序中执行脚本代码。

B. ‌跨站脚本攻击 (XSS)‌:这种漏洞允许攻击者将恶意脚本注入到正常的页面中,当其他用户浏览这些页面时,恶意脚本会在他们的浏览器上执行。这正是题目中所描述的“在Web应用程序中执行未经授权的脚本代码”。

C. ‌命令注入‌:这涉及到攻击者试图通过应用程序的输入字段注入系统命令,以在系统级别上执行恶意操作。它主要关注操作系统层面的命令执行,而不是在Web应用程序中执行脚本代码。

D. ‌文件上传漏洞‌:这种漏洞允许攻击者上传恶意文件到服务器,可能用于执行恶意代码或进行其他攻击。尽管它可能涉及执行恶意代码,但其核心是利用文件上传功能,而不是直接在Web应用程序中执行脚本代码。

综上所述,跨站脚本攻击(XSS)是允许攻击者在Web应用程序中执行未经授权的脚本代码的漏洞。因此,正确答案是 B. 跨站脚本攻击 (XSS)。

Crypto

1.简单的加密

请下载文件,文件里的内容为加密后的数据,尝试解密,获取flag。 flag的形式为flag{xxxxxxxxxxx} 在线解密网站:Base64 编码/解码 - 锤子在线工具 提示:加密方式为base64加密

解:

打开附件txt后得到:ZmxhZ3thYmNkZS1lZGNiZC1hYmNkZWViY2RhfQ==

利用在线网站解密得到flag:

2.简单的AES

请下载文件,文件里的内容为加密后的数据,尝试解密,获取flag。 flag的形式为flag{xxxxxxxxxxx} AES是一种对称加密算法,需要密钥对原来的值加密,下载文件,解出flag AES在线解密网站:在线AES加密 | AES解密 - 在线工具

解:打开附件txt后得到:U2FsdGVkX1/oSw9d2lz+Y/Iyu5TK4YUOhQ8SjQpy1auRrXOg+CpQqsljOmAQbHtF

利用在线网站解密得到flag:

3.凯撒大帝的征讨之路

凯撒大帝在出征之路上留下了这样一串字符,你能通过这串字符得到FLAG并提交吗?

解:打开txt文件,得到:pvkq{nrtclk-nruln-nsrgm}

利用在线网站解密得到flag:

Web

1.简单的F12

访问靶场,获取靶场中的flag,flag的形式为flag{xxxxxxxxxxx}

Document

解:

打开该网址,在Edge浏览器中点击...后点击”更多工具“后点击”开发人员工具“查看该网页元素。如图得到flag:

2.robots.txt

robots.txt是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。

http://114.55.176.53:10002/index.html

解:打开该网址检查后发现这题找不到明显的flag,根据题目这题考察robots协议,

输入robots协议后发现一个存有flag的网页,打开它得到flag:

3.GET传参

GET传参数是什么意思,GET请求就是直接访问URL头,POST请求就是访问body体 比如在http://www.baidu.com ,这个网站 我想对这个网站get请求,而且想要传参一个名字为cmd,值为1的变量,问号后跟着的是名字 那么就是百度一下,你就知道

Get

解:打开该网址:

根据提示传参得到flag:

4.为什么这个按钮不能按呀?

提示:按钮按不了肯定是前端的问题,众所周知前端代码都是纸老虎,如形同虚设 。删除HTML元素中的disabled试试

disable

解:打开该网址发现flag按钮不能按,

按照提示删掉disabled=" "后就可以点击flag按钮了:

5.简单的GET双传参

GET双传参:访问 URL 时,传递两个参数 用&拼接, 例如a=xxx&b=xxx

http://114.55.176.53:10006/

解:打开该网址,发现a=123,b<5000,因此b随意输入一个值,

用连接符连接输入得到flag:

Misc

1.与熊论道

今天高高兴兴出门去,遇上一只熊。熊曰:嗷呜呜!!出题人曰:大事不妙!

提示:与熊论道加密,想办法去百度怎么找到解密方式

txt

解:打开txt附件得到:

熊曰:呋食會笨魚嘍達唬喜達樣歡人食眠動更盜發非住更現蜂非咯咯人和嘶啽更

用在线工具解密得到flag:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值