pwn

# PWn
to compromise
to control
### pwntools 是一个 CTF 框架和漏洞利用开发库,用 python 开发,旨在让使用者
*简单快速的编写 exploit*
包含 本地执行、远程连接读写、shellcode 生成、ROP 链的构建、ELF 解析,符号泄漏 等
直接用 from pwn import * 或者 import pwn 将所有模块导入到当前命名空间,这条语句一同导入
os、sys 等常用系统库
>>常用模块:
        asm :汇编与反汇编
      dynelf:用于远程符号泄漏,需要提供 leak 方法
         elf:对 elf(二进制文件)文件进行操作
         gdb:配合 gdb 进行调试
     memleak:用于内存泄漏
  shellcraft: shelllcode 的生成器
       tubes:包括 tubes.sock|tubes.process|tubes.ssh|tubes.seriatube ,分别适用于不同场景的 PIPE。
       utils:一些实用的小功能,例如 CRC 计算,cyclic pattern 等


Tubes读写窗口:
    对于一次攻击而言前提就是与目标服务器或者程序进行交互,这里就可以用remote(address,port)产生一个远程的socket然后就可以读写了。


## Pwntools学习


## objdump -S pow0 | less
查看汇编代码,查看相关函数信息
-s


## binutils
一组二进制工具集
包括: addr2line ar gprof nm objcopy objdump ranlib size strings strip
objcopy  将一种格式的目标文件(hello)改成另外一种格式的目标文件(hello_srec)
    objcopy -O srec hello hello_srec   "-O"指定输出文件类型
objdump  显示目标文件信息,最大用处是将 c 代码反汇编
            readelf  用来显示ELF格式目标文件的信息


## peda中
checksec filename   用于检测二进制的保护机制是否开启
![Screen Shot 2017-12-26 at 1.09.38 P](media/15142187824222/Screen%20Shot%202017-12-26%20at%201.09.38%20PM.png)
NX 表示堆栈不可执行的保护,状态为 disabled ,表示堆栈不可执行关闭,也就是说 eip 可以跳到堆栈地址。(EIP寄存器,存储着 CPU 要读取指令的地址,每次CPU执行都先读取 eip 寄存器的值)
    EBP 指令缓冲区


## gcc
## g++


## git 以及 git clone


## gdb + peda


## 写exploits


## PE头

阅读更多
换一批

没有更多推荐了,返回首页