剑指安全之巅:知识普及之浅谈模糊测试,深入安全漏洞挖掘方法

Posted 鸿渐之翼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指安全之巅:知识普及之浅谈模糊测试,深入安全漏洞挖掘方法相关的知识,希望对你有一定的参考价值。

剑指安全之巅,探求安全之本

鸣谢:

深圳狩猎者网络安全技术有限公司 知柯信息安全

湖南安鉴信息技术有限公司

作者:CSDN 网络安全领域优质博主 鸿渐之翼(王驭停)
知柯™️信息安全 您身边的网络安全专家,用心呵护您的安全!
码字不易,求个关注与点赞。
前言:
网上关于安全测试的概念与文章都是用深奥的文章一笔带过,今天我们来谈谈关于模糊测试与漏洞挖掘的问题。
在学习模糊测试的过程中,博主感到的是自己知识浅,很多疑惑🤔,越是想向底层学习发展,有机会分享下“计算机黑皮书圣经”的感悟。
下面我们将会开启一段长时间的学习过程。让我们一起“剑指安全之巅,探求安全之本。”
有粉丝私聊过我,想了解下模糊测试,正好我个人比较喜欢喜欢模糊测试这一板块,由于个人知识有限,只能从别人
的文章学习记录了下模糊测试。读者朋友们如果喜欢,可以参看下我以前在CSDN与腾讯云@王驭停上记录的文章。

我以前写的关于二进制安全的文章也在不断更新,目前卡在了堆溢出上,还在学习glibc的内存管理机制的源代码。
哈哈,如果我有兴致,有可能写一篇源码分析的文章。

这是我的二进制安全学习线路:如何成为一个高质量黑客?谈谈我的二进制安全学习路线

目前模糊测试仍是信息安全领域研究的前沿,这个技术在十几年前在美国已经比较成熟,当然我们对于模糊测试
的研究也不落后。或许B站上的一个视频关于黑盒白盒测试的概念要讲一节课,你只需要看完本文就能懂得白盒子
与黑盒测试的区别。我希望通过形象易懂的方式讲述这些概念,如果您有什么疑惑可以在下方留言,或者私信我。
2021年12月 于 重庆 江北
欢迎各位专家学者指正批评。

标题主流安全测试方法:

白盒测试、黑盒测试、灰盒测试
方法差异:
测试者所掌握的资源,这包括访问源代码、设计规约。

什么是白盒测试?

白盒测试是测试者掌握了源代码的情况下,直接对产品代码进行分析

什么是黑盒测试?

安全测试中有各种奇技淫巧,其中大众所了解到的是Web应用的Pen测试,Web渗透是一种黑盒测试
的一种方式,它不需要访问源代码,黑盒测试意味着只能从了解外部观察到的东西。作为终端用户,可以控制
输入,从一个黑盒子的一端提供输入,但测试者往往不了解内部的工作细节。
以Web测试为例子,我们我们可以通过html或者可扩展标语(XML)请求的形式,产生输入并观察生成的Web页面
或者返回值。
再比如说,我们使用的某个软件,我们手上有它的二进制文件,如果不进行逆向工程分析,我们就可以通过黑盒测试进行观察

黑盒测试优点与缺点

优点:
•可用性:黑盒测试总是可以应用的,甚至在源代码可用的情况下应用黑盒测试也是有益处的。
•可重现性:由于黑盒测试的实施不需要事先对目标做出假设。
缺点:
•覆盖能力:如何确定测试何时结束以及测试的有效性程度。
•理解力:黑盒测试最适合那些安全漏洞由一个单独的输入向量所引起的场景。

什么是人工测试?

Web为例:
人工测试可能要包括使用一个标准的Web浏览器来浏览一个Web站点的层次结构,在审核的最初阶段,这个技术可能只是被零星地应用,例如,通过给各种各样的参数增加引用,以期望揭示出SQL注入漏洞。这时候我们就需要依赖自动化工具如:Burpsuite等。这个过程我们定义为扫除(Sweeping)

什么是扫除技术Sweeping?

例子:有目的性改变文件名称或者改变格式,再通过正常的方式执行程序,如果出现错误,则达到模糊测试Seeping的目的。

自动化测试与模糊测试

模糊测试是一种强制性技术,它的目标是简单有效。

灰盒测试

灰盒测试定义是在白盒测试与黑盒测试之间浮动。首先它包括了黑盒测试测试,此外还包括通过逆向工程(RE)获得的结果,逆向工程也被称为逆向代码工程(RCE)。这里说的RCE不是远程本地提权。

灰盒测试优点与缺点

#优点
•可用性:除了远程Web服务和应用程序之外,应用程序的二进制版本一般是可用的。
•从灰盒测试分析获得的信息可用于帮助和改进采用黑盒测试的模糊测试技术。
#缺点:
•冗杂:RCE是一个专业技能,因此它需要的资源有可能不可用,从而导致这种方法无法使用。

二进制审核BinaryAuditing

RCE在二进制领域被经常使用,RCE的最终目标是决定一个编译后得到的二进制应用程序的底层功能。尽管将一个二进制文件完全转换回它的源代码形式是不可能的,但是有可能对汇编指令序列应用逆向工程,从而得到一种位于源代码和构成二进制代码的机器码之间的一种表示形式。通常,这种表示是汇编语言和应用程序代码流的图形表示之间的一种中间形式。例如:IDA是RCE的一个比较好用的逆向工具。我们以下的实验都是基于IDA,你可以通过一些途径获得这个商业软件。
IDA与反汇编器和反编译器不同,调试器通过打开或附加到一个目标程序并采用动态分析技术 来监控目标程序的执行,调试器能够显示应用程序正在运行时CPU寄存器的内容和内存状态。
其他常用的调试器:WinDbg,OllyDbg吾爱破解汉化版,GDB
WinDbg
OllyDbg吾爱破解汉化版
GDB(Linux)

sudo apt install gdb

Linux上,如果你喜欢可以使用下radare2开源软件

自动化二进制审计工具

LogiScan 商业软件
BugScan 自由软件
Inspector 商业软件
SecurityReview 商业软件
BinAudi 商业软件
比较出名的开源软ALF、WinALF等。

Summary总结:

本篇文章大致介绍了黑盒白盒灰盒测试,以及介绍了一些工具。

关注我们

微信公众号:知柯信息安全


我们的合作伙伴:

以上是关于剑指安全之巅:知识普及之浅谈模糊测试,深入安全漏洞挖掘方法的主要内容,如果未能解决你的问题,请参考以下文章

Android安全开发之浅谈密钥硬编码

服务器系统安全防范之浅谈

知识普及:关于Fuzzing模糊测试入门原理及实践的讨论

MySQL之浅谈DQL(查询语句)

模糊测试教程之浅记录一次Fuzzing挖洞实战

云原生之浅谈微服务与划分