又又又又是CTF!!!

4.13–4.19


一、2017世安杯ReverseMe

ReverseMe意为反转

1、下载实训附件,将其中的代码复制到Python中,保存并运行
1
2、将保存程序后自动生成的flag文件用画图工具打开,进行反转就是正确答案2

3

flag{4f7548f93c7bef1dc6a0542cf04e796e}

二、Affine

4

仿射密码,一个集合X的仿射变换:f(x)=ax+b,x∈X


根据公式对照得出a=3,b=7
利用在线解码工具得出答案:affineisverygood

5

SeBaFi{affineisverygood}

三、一步之遥

位移密码

题目:
在这里插入图片描述


将下列代码放在python中运行:

a="b3W6f3FzOHKkZ3KiN{B5NkSmZXJ5[ERxNUZ5Z3ZyZ{Gn[kWigR>>"
s=[""]*len(a)
for j in range(26):
    for i in range(len(a)):
        s[i]=chr(ord(a[i])-j)
    print ("".join(s))

得出运行结果:
在这里插入图片描述

用在线解码工具得出答案:a24bccba30824eab8d40168cf1c1ff5a
在这里插入图片描述

SeBaFi{a24bccba30824eab8d40168cf1c1ff5a}

四、Atbash Cipher

Atbash Cipher(埃特巴什码),最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。在罗马字母表中,它是这样出现的:
常文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

用在线解码器得出答案:

SeBaFi{a2041e8afabd46dfa901bc46abd30d7a}

五、bacon

在这里插入图片描述

翻译过来就是“培根”,加密时,明文中的每个字母都会转换成一组五个英文字母。其转换依靠下表:

6

加密者需使用两种不同字体,分别代表A和B。准备好一篇包含相同AB字数的假信息后,按照密文格式化假信息,即依密文中每个字母是A还是B分别套用两种字体。
解密时,将上述方法倒转。所有字体一转回A,字体二转回B,以后再按上表拼回字母。


这是给出的字符:
bAcon iS a MEaT prodUcT prePared frOm a pig and UsuALLy cUReD

五位一组划分后:
bAcon iSaME aTpro dUcTp rePar edfrO mapig andUs uALLy cUReD

小写转a,大写转b(大小写都可以):
abaaa ababb abaaa ababa aabaa aaaab aaaaa aaaba abbba abbab
通过对比上面的表,可以得出答案(大小写都可以):
abaaa(I) ababb(L) abaaa(I) ababa(K) aabaa(E) aaaab(B) aaaaa(A) aaaba( C) abbba(O) abbab(N)

SeBaFi{ILIKEBACON}

### 关于CTF竞赛的笔记与资料 #### CTF竞赛概述 CTF(Capture The Flag)是一种流行的网络安全竞赛形式,其目标是通过解决各种技术挑战来捕获旗帜[^1]。这种比赛通常分为三种主要赛制:解题模式(Jeopardy)、攻防模式(Attack-Defense),以及混合模式(Mix)。其中,混合模式结合了解题和攻防的特点,在比赛中既可以通过解题获得初始分数,又可以在后续阶段通过攻击其他团队或防御自己的服务来进行动态得分调整[^2]。 #### 题型分类 CTF竞赛中的题目涵盖了多个领域,常见的大类包括但不限于Web安全、逆向工程、密码学、二进制漏洞利用、取证分析等。每种类型的题目都旨在测试选手在特定方向上的技能水平。例如,在Web安全方面,SQL注入和文件上传漏洞是非常基础但也极为重要的知识点之一[^3]。 #### 学习资源推荐 对于初学者来说,可以从以下几个方面入手准备CTF竞赛: - **官方平台**:访问像CTFtime这样的网站可以帮助跟踪全球范围内的赛事信息及其时间安排。 - **在线教程与文档**:网络上有大量关于如何参与并成功完成不同类型CTF挑战的文章和视频指南。这些材料往往由经验丰富的玩家编写,并分享他们解决问题的心得体会。 - **实践练习环境**:除了理论学习外,实际动手操作同样重要。可以尝试参加一些公开训练营或者使用专门设计用于教学目的虚拟机镜像进行模拟演练。 以下是几个具体的学习建议: ```python import requests def check_sql_injection(url, payload): response = requests.get(f"{url}?id={payload}") if "error" in response.text.lower(): return True return False # Example usage of the function to test SQL injection vulnerability. test_url = 'http://example.com/vulnerable-page' injection_payload = "' OR '1'='1" if check_sql_injection(test_url, injection_payload): print("Potential SQL Injection Vulnerability Found!") else: print("No obvious vulnerabilities detected.") ``` 上述代码片段展示了一个简单的Python脚本用来检测是否存在基本形式的SQL注入风险。这只是一个非常初级的例子,在真实环境中还需要考虑更多复杂情况和技术细节。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值