• PWN入门


    pwn


    ”Pwn”是一个黑客语法的俚语词 ,是指攻破设备或者系统 。发音类似“砰”,对黑客而言,这就是成功实施黑客攻击的声音——砰的一声,被“黑”的电脑或手机就被你操纵。以上是从百度百科上面抄的简介,而我个人理解的话,应该就是向目标发送特定的数据,使得其执行本来不会执行的代码,前段时间爆发的永恒之蓝等病毒其实也算得上是pwn的一种。

    pwn介绍

    CTF pwn中的目标是拿到flag,一般是在linux平台下通过二进制/系统调用等方式编写漏洞利用脚本exp来获取对方服务器的shell,然后get到flag

    前置技能

    • 汇编语言,函数调用约定,大小端,函数栈帧

    • python语言,gdb调试,IDA pro分析

    • linux相关:32位与64位,各类防护机制(NX,ASLR,Canary,Relro),ELF文件格式,系统调用,shell命令

    • 编译,链接,装载,执行

    常见漏洞简介

    • 缓冲区溢出(Buffer overflow)

    • 栈溢出,堆溢出,bss溢出等

    • 整数溢出(Integer overflow)

    • 整数的加减乘法

    • 有符号与无符号的转换

    • 整数溢出一般可以转换成其它漏洞

    • 格式化字符串(Format string)

    • printf(s),sprint f(s),fprintf(s)可以修改地址也可以用来leak信息

    • 使用后释放(Use-after-free)

    • 释放掉的内存可能会被重新分配,释放后使用会导致重新分配的内存被旧的使用所改写

    • Double free是一种特殊的UAF

    工具

    • IDA

    • pro

    • gdb

    • pwntools

    • zio

    • peda

    • readelf

    • ropgadget

    • string

    • objdump

    利用方法

    • 注入代码 

      • 溢出后在栈上执行代码

    • 伪造函数 

      • 修改.got.plt地址,替换掉正常函数

      • 布置gadget将ret地址指向libc中的其它函数

    学习网站

    如何开始你的CTF之旅

    PWN总结

    p4-team

    uaf

    ddaa

    二进制漏洞学习

    sploitfun

    CTF Writeup Github(Note:百度搜不到github Pages的)

    pwnable.kr

    pwnable.tw

    ROPemporium

    学习资料

    《有趣的二进制》 
    《深入理解计算机系统》 
    《程序员的自我修养》 
    《深入理解Linux内核》

  • 相关阅读:
    Xcode 增强开发效率的插件
    svn 常用指令
    初识JFinal
    企业竞争案例分析
    可行性研究5
    可行性研究习题4
    可行性研究课后题
    关于阅读软件工程和计算机科学技术区别的文章来谈谈自己看法
    关于中文编程是解决中国程序员效率的秘密武器的问题思考
    Java ForkJoinPool 用法及原理
  • 原文地址:https://www.cnblogs.com/nul1/p/10589482.html
Copyright © 2020-2023  润新知