基础知识
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

本文介绍了漏洞挖掘的基础知识,包括bug和漏洞的区别,以及漏洞的挖掘和利用方法,如fuzzing技术。深入探讨了二进制文件的PE格式,解析了虚拟内存和PE文件在内存中的映射。提到了一些关键工具,如OllyDbg、SoftICE和WinDbg,为读者提供了一个从概念到实践的学习路径。
最低0.47元/天 解锁文章
604

被折叠的 条评论
为什么被折叠?



