pwn专题二进制安全

pwn入门的一些学习资料

2018-06-12  本文已影响724人  zs0zrc

总结记录一下pwn入门的一些学习资料

pwn入门学习的网站:
CTF Wiki

必备技能:

  1. 汇编语言
    要搞pwn首先要懂汇编吧,毕竟是搞二进制的
    建议看王爽写的那本汇编语言,将书本的实验做一遍,然后再了解一下AT&T和intel两种汇编代码风格有什么不同
    可以看下这篇博客intel汇编 和 AT&T汇编 的区别

  2. 编程语言(C语言和python)
    C语言这门语言必须要会吧,题目大部分是用C语言写的,而且很多那些知识都要读libc的源代码,不懂C,读libc源码时就会很痛苦,虽然懂也会很痛苦
    要会python吧,毕竟exp用python写的,CTF中pwn主要是用pwntools这个python库来写利用脚本,要熟悉这个库
    学习python的话上菜鸟教程学吧
    pwntools库的话看下面
    这个库的document pwntools document
    还有常见的用法 pwntools 的常见用法

3.计算机组成与原理
玩pwn,入门是栈溢出,要玩栈溢出,栈的构造要了解吧,函数的调用约定要了解吧,函数参数的在栈上的分布要知道吧,然后balbala很多知识点要刷,建议读下《深入理解计算机系统》这本书 还有(《程序员的自我修养》这个选读)
下面举下经常用到的知识
函数调用栈:
C语言函数调用栈(一)
C语言函数调用栈(二)

elf的文件结构:了解下就好了
看程序员的自我修养

PLT和GOT:
Linux中的GOT和PLT到底是个啥?

系统的防护机制了解一波:
系统防护机制

  1. IDA 和gdb的常见工具的操作
  2. linux的常见操作

pwn入门视频
可以关注一下B栈上的一个up主 (君莫笑hhhhhhhh)
下面是他的一些视频

可以看下国外的 liveOverflow系列的教程
[LiveOverflow]-binary hacking
台湾 Angelboy的教学视频 强烈推荐
视频地址

pwn入门博客

刷题的网站
浙大的jarvisoj平台
国外的pwnable.kr
台湾的pwnable.tw
i春秋平台上的题目
还有一个国外的Scoreboard 不过需要科学上网

先大概写这么多吧,以后再补充

上一篇下一篇

猜你喜欢

热点阅读