基础知识

bug & exploit

什么是bug?
程序错误,是程序设计中的术语,是指在软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断等现象。

什么是漏洞?
漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。

漏洞和bug的区别:
漏洞专指安全方面的问题,Bug则不限于安全方面。漏洞通常不影响程序正常功能,但是 bug 会影响程序正常功能。

漏洞的挖掘,分析和利用

“灰”盒测试— fuzz :Fuzzing技术总结(Brief Surveys on Fuzz Testing)

通过 poc 代码重现漏洞发现的场景,同时使调试器观察漏洞的细节,或者利用工具找到漏洞出发点

漏洞公布

两个机构

CVE 和 CERT

二进制文件概述

PE 文件格式

*.exe *.dll

典型 PE 文件中包含的节如下:
.text 编译器产生,存放二进制机器代码,反汇编和调试的对象
.data 初始化的数据块,如宏定义、全局变量、静态变量等。
.idata exe 文件使用的动态链接库等外来function and file information.
.rsrc 存放程序资源

还可能出现的节: .reloc .edata .tls .rdata

漏洞挖掘利用基础知识

虚拟内存

进程 》 储户
内存管理器 》银行
物理内存》钞票
虚拟内存》存款

PE 文件与虚拟内存之间的映射

文件偏移地址
file offset
数据在 PE 文件中的地址

装载地址
image base
PE 装入内存时的地址

虚拟内存地址
virtual address
PE 文件中的指令被装入内存后的地址

相对虚拟地址
内存地址相对于映射基址的偏移量

文件偏移地址

tips:在这里一定要注意一点问题,这里的虚拟内存和平常系统提示的“虚拟内存空间不够”中的虚拟内存不是同一个。

可以用到的学习工具 lordpe

工具介绍

OllyDbg
SoftICE 工作在 ring0 级,可调试驱动等内核对象 可以在看雪学院找到 softice的命令手册和使用教程
WinDbg 介于ollydbg和softice
IDA pro

二进制编辑器
ultraedit
hex workshop
winhex
010 editor

辅助工具
vmware
python

相关文章:

  • 2019-08-27
  • 2021-10-15
  • 2021-12-19
  • 2021-04-07
  • 2021-10-01
  • 2021-09-14
  • 2021-06-26
  • 2021-06-01
猜你喜欢
  • 2022-12-23
  • 2021-10-11
  • 2022-02-07
  • 2022-12-23
  • 2021-08-11
  • 2021-10-01
  • 2022-01-12
相关资源
相似解决方案