Telling a crowd of pwner(告广大pwn友)

最近一直观察跟我一起学pwn的朋友,过程十分痛苦。但是只能说,学pwn是一个漫长而又艰辛的过程,要
想练好武功,就要扎稳马步,切记急功近利,急于求成。因为,pwner需要的能力涉及广泛。虽然很多人
(包括我)在学习栈溢出、格式化字符串、整数溢出、堆溢出等各种招式时特别艰难,但是学习这些招式仅
仅是进入pwn海的第一步。在实际漏洞挖掘过程中,程序逻辑纷繁复杂,更需要pwn者将所学所有招式融汇
贯通,并且要有十分熟练的逆向功底(这里包括分析C语言和汇编语言程序逻辑的能力、调试能力、对底层
细节的掌控能力)。所以,我们入门者在学习pwn的过程中往往过于关注招式的变化,但是C语言、汇编、逆
向等能力基础不扎实(即马步不稳),但是这里面每一个能力的炼成都是极为艰难的,马步扎稳了还不够,更
要把毕生所学融汇贯通,在各种变换莫测的程序逻辑中利用这些漏洞就更需要高深的漏洞利用能力。所以,在
碰到学过招式,知道漏洞,利用不了的情况实属正常。如果把学pwn比作练武,C语言、汇编、逆向、python
就是根基,要扎好马步方可与人决斗。而各种漏洞则是招式,从栈溢出到堆溢出全部学完都不能保证你能驰
骋沙场。最好的方式就是边学招式边实战。实战是什么?你必须经常性地体验实际程序逻辑,把招式转化为
漏洞利用的能力,将战斗持续进行到底,这样才能在pwn海中提升自己的实战能力(即漏洞利用能力)。

总结

pwn海中的能力点

1.扎马步:C语言、汇编、逆向调试、python

2.练招式:研究各种漏洞的利用技巧

3.实战:习惯性的阅读源码,分析程序逻辑,挖掘漏洞,利用漏洞。实战层面最为重要。

Add:
所有的pwner都是不可埋没的人才,极具价值。但赛场只是擂台,磨炼功底。只要我们把时间跨度放得更宽,
更远,我们看到的应该不仅是赛场上那诱人的奖项,我们更应该看到属于我们诗和远方,那里自有容纳每一位
pwner的舞台,每一个pwner都将闪闪发光。