Last updated on:February 18, 2023 pm

国科大2022年春季学期《网络攻防基础》课程CTF测验writeup。

《网络攻防基础》是网络空间安全学科研究生的专业核心课,主讲教师有国家计算机网络入侵防范中心主任张玉清教授、信工所六室龚晓锐高级工程师和信工所国重吴槟副研究员。本课程讲授软件安全的基本原理、软件防御机制与攻击手段的博弈演进、软件脆弱性(漏洞)原理分析,以及确保软件安全性的最佳实践方法。课程以软件安全国际知名学者Gary McGraw的三部著作为教材,让同学通过课程学习与动手实践,深入理解软件的安全内构(building security in)本质与方法,提升在开发过程中确保软件安全性的专业技能;同时,理解软件的漏洞利用与防范在网络空间攻防对抗中的关键地位,掌握围绕软件攻防的“白帽”与“黑帽”思维方法和基本技术,为进一步研习网络攻防奠定基础。

本次CTF测验共分9个小组,每组各出一题,其中我们组出的是一道docker逃逸的misc题。

Crypto RSA

1 题目分析

题目:

阅读题目rsa.py代码文件可以得到以下信息:

  • 公钥(n, e)已知,而p、q、d未知
  • 明文是一张bmp图片的txt格式,经过libns2n转换之后加密为密文cipher.txt

2 解题过程

破解私钥d

由于n不太大,尝试直接分解。在factordb在线分解得到的结果并没有成功,因此转而尝试yafu分解。

成功得到p和q,然后使用gmpy2求模逆元得到d:

# e = 65537
# p = 113701434566953302296018327231919974281008636789018283600308658084922136632147
# q = 113701434566953302296018327231919974281008636789018283600308658084922136631993
d = gmpy2.invert(e, (p-1) * (q-1))
# d = 1766291671224035950065700331363806177388399874464968761882845653559427747468578334624297389288081148192811346008992354282683301619956371502784830383326817

解密明文m

现已知密钥(n,d),直接逐行对cipher.txt进行解密即可得到flag.bmp.txt如下:

结合42 4D文件头以及文件名中的提示,还原得到flag.bmp如下:

看到三个二维码定位角,使用StegSolve在红色通道Red Plane 0看到二维码,扫码即得到了flag。

题解:

Reverse babyandroid

题目:

1 逆向分析

直接用jadx反编译babyAndroid.apk,看到主要代码在com.example.myapplication里:

题解:

Reverse baguatu

题目文件:

题目文件:

Web news

SQL数字型注入+md5校验绕过+assert命令执行的一道缝合怪,没啥难度。由于我写博客的时候已经是课程实验之后的第N天(老拖延症)服务器都关了,所以我就只挑其中两个手上有图的知识点记录一下。

1 md5校验绕过

2 assert命令执行

Misc 密不透风的Docker

题目文件:

题目文件:


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

NeSE丙组CTF月赛Writeup Previous
Linux个人工作环境配置 Next

 TOC

载入天数... 载入时分秒...