学习过程总结

学习过程总结

Posted by gxkyrftx on October 20, 2019

0 我与ctf

初次听说ctf是在大二转专业之后,社团宣传,包括acm社团,机器人之类的,当时没兴趣。

大二下学期,网络安全课,考试分为实验+理论,实验就是ctf题目,大佬们出题,像是一种强制的感觉,逼着做。后来发现,有一些简单题目可以做出来,自己提交flag的感觉很爽(flag大部分都是py交易得到的,刚开始啥也不会)。除此之外再没有接触。

大三上学期,密码学课,考试分为实验+理论,实验是ctf的crypto项目,密码学实验课,编程实现了单表多表代换,aes,des,rsa,rc4,md5等经典密码算法。这个时候其实已经感觉蛮有意思的,于是找了两个朋友,参加了校赛预选赛。除此之外再没有接触。

大三下学期,安全程序设计课程,选题二选一(web,二进制),web题目大概是带漏洞的博客系统及漏洞修补,二进制题目是Linux (x86) Exploit 开发系列教程(SploitFun)1~12 合集。我选择了二进制。通过问大佬,菜鸡之间互相分享调试过程,发帖求助,百度,谷歌等各种各样的方式,完成了大部分的内容,这个大概用了不到一个月。同时参加了校赛决赛,拿了二等奖,当时啥也做,web,crypto,reverse,misc,pwn很乱,会啥做啥。除此之外再没有接触。

考研结束后,感觉很空虚,就决定打ctf消磨时光,有一整段的时间,大概1个月都在研究,选择了方向是reverse,略难,断断续续的一直在研究,直到现在,没事了就玩一会,调试会程序,有事了先紧着要紧的。

1 reverse学习

1.1 初学

刚开始学习,视频+实践+自己总结

考研结束看的ctf视频是这个:看雪 2016 CTF题解视频

实践:根据视频步骤一步一步调试。

总结:三天时间做了一个个人博客,方法就是不断的百度,就做出来了,然后在博客上写总结文章。

个人感觉题目难度相当大,大概两天看一道题,实在不会就算了,换下一题。总的来说,有效果,工具会用了,理清了一些思路,常用的方法都记下来了,题目有的还是不太会做。

看书,《加密与解密》,《汇编语言》王爽,学习理论。

1.2 深入

有一定基础之后,考研完寒假回去,参加了吾爱破解的小比赛,第一次自己做出了reverse的入门题目。然后就就去疯狂参加比赛。

大四下学期复试结束后,毕设难度一般,闲暇时间都在参加比赛或者刷题。

刷题网站:

https://adworld.xctf.org.cn/task,攻防世界
http://reversing.kr/challenge.php

找比赛网站

https://ctftime.org/,ctftime

然后5月24日的时候,自己一个人组队参加“强网杯”,排名300整(5000多支队伍,前200名有证书,差一道题,快哭了-_-,哈哈哈)

2 crypto学习

2.1 初学

理论+实践(5,5开)

理论很重要,相当重要,理论主要包括上课学习的一些知识,例如《信息安全数学基础》,《密码学》。论文的阅读,有一些题目的解法,需要去查阅学术论文,然后实现加密或者解密。

实践更重要,python编程,c,c++,solidty(智能合约),go。还有比赛经验积累下的常用的密码学库。

我常用的python密码学库主要有

crypto
gmpy2
binascii
libnum

c++库主要有

crypto++
openssl

区块链技术兴起之后出现了一种新的题型,智能合约,通过对合约的分析,调用合约中的一些函数,达到目的。整个过程类似于对智能合约的攻击。

2.2 刷题

边刷题,边总结,总结思路,提高编程能力,

https://adworld.xctf.org.cn/task,攻防世界

3. pwn学习

3.1 初学

pwn的学习主要通过,Linux (x86) Exploit 开发系列教程(SploitFun)1~12 合集

大部分题型给出了一个Linux下的可执行文件,然后通过分析程序的执行流程,函数功能,找到漏洞点,然后劫持程序流,最终拿到机器的权限。

方法主要是动态调试,可以使用IDA远程调试,也可以使用gdb调试,一些gdb插件很有用,比如

peda
pwndbg
gef

pwn主要使用的python模块是pwntools和zio,用于创建远程连接,并发送消息。

3.2 刷题

推荐平台

https://pwnable.tw/
https://adworld.xctf.org.cn/task,攻防世界

4 其他推荐

  • bilibili的一个up主:白帽子-枯灯boy

    有很多的关于视频,关于安全的啥方面的都有,宝藏up主

  • 谷歌,百度等各大搜索引擎

    有问题,先百度

  • github,gitlab,开源中国等代码仓库

(end)


本文访问量: