AIS3 2017:二进制安全与漏洞利用探索
需积分: 9 184 浏览量
更新于2024-07-19
收藏 3.66MB PDF 举报
"AIS3 2017 Binary Exploitation"
本次资源是关于二进制安全的学习资料,特别是针对pwn(Binary Exploitation)领域,涉及缓冲区溢出技术,包括栈溢出和堆溢出等核心概念。课程由CTF(Capture The Flag)玩家Angelboy主讲,他曾参与多项知名CTF比赛并取得优异成绩。学习环境基于Ubuntu 16.04 64位系统,使用了一系列工具,如binutils、nasm、ncat、gdb、pwntools、ropgadget和peda,并提供了练习题和懒人包资源。课程大纲涵盖介绍、执行、x86汇编、缓冲区溢出等内容。
1. 介绍
- 课程旨在教授逆向工程和利用技巧,以理解程序运行机制并寻找漏洞。
- 反汇编和动态分析是逆向工程的关键,用于在没有源代码的情况下理解程序行为。
2. 逆向工程
- 分为静态分析和动态分析两种方法。
- 静态分析:不运行程序,使用工具如objdump将机器码转换为汇编语言,进行分析。
- 动态分析:在运行程序时进行分析,例如使用strace跟踪系统调用,ltrace跟踪库函数调用。
3. 利用(Exploitation)
- 利用漏洞实现攻击者的意图,通常目标是获取程序控制权,也称为"Pwn"。
- 二进制利用主要关注与二进制文件相关的漏洞利用,分为本地提权和远程代码执行两种主流方式。
4. 缓冲区溢出
- 缓冲区溢出是二进制利用中的常见技术,包括栈溢出和堆溢出。
- 栈溢出:当程序向栈分配的缓冲区写入超过其大小的数据时,可能导致栈上的其他数据被覆盖,进而影响程序的控制流,可能实现任意代码执行。
- 堆溢出:发生在程序的堆内存区域,原理类似,但堆管理的复杂性使得利用更加复杂。
5. 工具介绍
- gdb:GNU调试器,用于调试二进制程序,查找和理解程序崩溃原因。
- pwntools:Python库,提供方便的工具集来帮助构建exploit。
- ropgadget:用于查找程序中的返回-导向编程(Return-Oriented Programming, ROP) gadgets,常用于绕过地址空间布局随机化(ASLR)等保护机制。
- peda:GDB的扩展,增强了调试功能,使二进制分析和exploit开发更高效。
6. 学习资源
- AIS3提供的练习题平台(http://ais3.pwnhub.tw)提供实践环境。
- 懒人包(https://github.com/scwuaptx/AIS3-2017)包含所有必要的设置脚本env_setup.sh,方便搭建学习环境。
通过这个资源,学习者可以深入理解二进制安全的基本概念,掌握逆向工程和缓冲区溢出利用技术,为网络安全和CTF竞赛打下坚实基础。
2021-03-17 上传
2022-05-07 上传
2021-05-08 上传
2021-03-12 上传
2021-03-17 上传
2022-07-13 上传
2022-09-23 上传
2022-07-13 上传
不干正事的拖延症患者
- 粉丝: 38
- 资源: 2
最新资源
- Cooking Converter-crx插件
- Huomobian.zip_matlab例程_matlab_
- lilyPAD-开源
- 传单挑战:家庭作业
- 定价博弈matlab代码-RLS:Iskhakov,Rust和Schjerning撰写的论文“递归词典搜索:找到有限状态定向动态博弈的所有马尔
- spring
- forecastico:使用meteor.js和brain.js进行股票预测在线应用
- KickFire Prospector - Free Prospecting Tool-crx插件
- 前端自定义拖拽可视化工具dome
- krunseti-开源
- 自述生成器
- c语言自创军旗游戏源码.zip
- BS5-Admin-HTML-Template:Bootstrap 5响应式HTML管理模板
- HANDWRITTEN-DIGIT-RECOGNITION
- homework-9-SSB-332-
- Cusdom_Open.rar_工具条_C++_Builder_