记第一次CTF参赛

坚强是说给别人听的谎言 提交于 2020-10-02 05:14:34

第一次参加比赛

什么也不懂,赛前十五天才开始从零准备,在此之前只会写零星的python和C语言,能看弄html
赛前准备看到misc不需要很多的知识,就选择了这一方向,开始比赛才知道自己的天真,最终自己只做出了一道半

Misc

签到题

点亮全国地图,当所有地区ip数大于10,官方放出flag,很简单,拼手速的题

the-best-ctf-game

拿到附件,一个在windows打不开的文件,二话不说直接放到kali里binwalk,没有隐藏文件,用cat,在一群乱码之中隐约看到flag,直接拼出来,回答正确在这里插入图片描述

电脑被黑

题目拿到没什么思路,队友直接使用ext3grep,恢复磁盘,出现的flag.txt和fakeflag.txt全都是乱码,一直想也没有想到方法,最后想到将elf文件反汇编,拿到源码,再用这个算法,对flag.txt进行计算得到flag(还没有做完就结束了,之后再次尝试)

Crypto

bd

拿到附件为python脚本,提示是RSA算法,最下面给出了n、e和c,在网上搜索RSA大数分解,发现当n和e都很大的时候,可以利用wienerattack

https://github.com/pablocelayes/rsa-wiener-attack

打开RSAwienerhack.py,不用管test,在下面加上n和e的值并且调用RSA_hack()函数,直接运行就可以得出d值,将d值放入写好的脚本中,得出flag

from Crypto.Util.number import long_to_bytes
e = ''
n = ''
d = ''
m = pow(c,d,n) #明文的十进制形式
string = long_to_bytes(m) #将明文转为字符以b‘’形式打印
print(string)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!