半心得以及卡瓶颈的一个求助贴?
ctf吧
全部回复
仅看楼主
level 8
binno 楼主
很菜的菜狗,主要做pwn,因为会要求一点re的能力所以简单的re也会看看
心得:第一件事是在装环境。至少虚拟机这些还是需要的,然后pwntools,python等等,建议直接全网一下,或者b站跟着一步一步来,虚拟机版本建议高,同时在装的时候可以翻翻github以及一些镜像文件(官网限速到窒息的地步)
确实很复杂,依赖性很强……
第二件事是有关于学,我是按照ctfwiki来的,先熟悉一点简单的操作系统指令,nc这些,从最最基础的栈溢出开始,然后rop,然后遇上格式化字符串,以及一些常见的保护,再然后就是堆了(现在卡在堆了[狂汗][泪])
第三件事,对于原理,要求还是有点强的,门槛高毕竟不是吹的,汇编,操作系统是原理,C语言这些是你主要面临的题目,python写脚本(这个我是边做题边学的python,有点c基础)
卡的瓶颈(真的挺难受,就是现在一种不上不下的感觉,感觉我离真的做出来pwn还差一截,但是简单的题又会一点,难一点的题目又压根不会(比如CISCN的初赛题,懂,不完全懂,很难受)
1、学过8086汇编语言,可是这个学的汇编和我在做题的时候看的那个汇编代码就感觉不是一个东西,尤其是有关多次调用这些(循环、条件判断)很迷,总之就是觉得少了一块东西
2、汇编代码和寄存器连接不上,尤其是在偏移量这一块,动态调试看不懂,算不来(主要是涉及什么rbp+多少多少,rsp加多少这些,不知道它加完是什么东西)
3、基于libc的程序调用执行流,就是有关于整个程序的一个执行过程,很迷,看不懂(这边主要说的是IDA生成的汇编代码,在text段,bss段,data段上的那个相互调用过程)
(主要还是涉及到原理层这块,尤其是动调看寄存器、汇编执行情况,很憋屈[泪]会指令,看不懂。(比如用格式化字符串爆canary这边,会照着模版做,可是题目变一下就不会,不知道应该怎么做,关于栈这一块我绝对学的不行)
想请教一下师傅们有没有什么解决办法,也欢迎真的遇到问题的小伙伴们一起来讨论[泪][泪][泪](虽然本人专业和操作系统以及汇编方向关联不大,甚至汇编都是自学的,但是真的挺喜欢二进制方向的,也只有二进制方向感觉是真的在研究计算机原理)
感谢每一位留言的吧友[玫瑰][玫瑰]
2023年05月21日 16点05分 1
吧务
level 13
先说一下我本人的情况吧:不知名的半退役 Pwn 手 + CTF-wiki Pwn 部分的编写成员之一[吐舌]
信息安全本质上是计算机科学的一个分支,Pwn 这一块其实对于【计算机基础】尤其是【操作系统基础】的要求算是特别高的,因为 Pwn 本质上便是从软件系统运行中的各种细节当中寻找各种不同类型的可以供利用的漏洞,如果不能对计算机运行过程的一切有着足够深入的了解,自然很容易出现一头雾水的情况
我个人推荐可以先阅读如下书籍【打基础】:
- 电子工业出版社《程序员的自我修养——链接、装载与库》(入门经典必读,可以先只看 Linux 的部分)
- 机械工业出版社《深入理解计算机系统》(经典黑书,慢慢看)
- 机械工业出版社《现代操作系统》(经典黑书,慢慢看)
- 机械工业出版社《Linux 内核设计与实现》(小白书,适合内核初学者,很容易就能读完)
然后上手【多做题】【多调试】其实是比较好的一个加快理解的方式,比如说在 BUU 上 Pwn 先简单刷个两三页,再去pwnabletw上面刷刷,刷题的时候最好先自己想想,不要一上来就搜题解(除非实在想不出来[勉强]);对于复杂一点的题目,解完之后可以想想【是否存在更好的解决思路】,扩展一下思维
对于学习归纳能力比较弱的人而言,【写 writeup】是一个比较好的提升方式,为不同题目编写 writeup 的过程其实就是一个【归纳、总结、提升】的过程,注意把控过程中的每一个细节[酷]
要想继续打好计算机科学的地基,可以看 csdiywiki,对于二进制安全学习者而言个人推荐以下实验是必做的,实验过程中关键是【理解原理】:
- MIT 6.828 (操作系统实验,最好至少把前三个 Lab 给做完)
- MIT 6.858(信息安全实验,Lab 1 栈溢出实验和 Lab 3 符号执行实验)
到后面学着学着就慢慢上道了[吐舌]
2023年05月22日 16点05分 2
捕捉大佬!真的非常感谢!!!(终于感觉自己方向明确了,真的很有参考价值!!!)
2023年05月25日 15点05分
-
我感觉我的代码审计能力很差怎么办啊?国赛这玩意1200多行,看着看着脑子就乱了,这种该怎么提升?
2023年05月28日 06点05分
@- 多做逆向[吐舌]不要把自己当成一个纯pwn手,而是re pwn 兼修的bin人[小乖]
2023年05月28日 13点05分
@- 感觉pwn本身就已经涉及到了最最核心的部分(类比操作系统、C语言在整个计算机组成中的地位),再加上pwn和re的关系真的很紧密(或者说代码这部分偏re?)不好说,菜鸡表示,操作系统、c语言是真的很难提升,pwn也确实很难(团队里的大佬建议是多接触实战,或者从一个真实的
2023年05月28日 15点05分
level 8
binno 楼主
恼,看到了吧主大佬的回答,但这个贴吧居然还没过审核[泪]害,时代变了……这里感谢一下大佬的回答了QAQ
2023年05月24日 02点05分 3
1