剑指安全之巅,探求安全之本
知柯信息安全&CSDN鸿渐之翼
作者:CSDN 网络安全领域博主 鸿渐之翼
知柯™️信息安全 您身边的网络安全专家,用心呵护您的安全!
原文链接:
[01]剑指安全之巅:知识普及之浅谈模糊测试,深入安全漏洞挖掘方法
标题主流安全测试方法:
白盒测试、黑盒测试、灰盒测试
方法差异:
测试者所掌握的资源,这包括访问源代码、设计规约。
什么是白盒测试?
白盒测试是测试者掌握了源代码的情况下,直接对产品代码进行分析
什么是黑盒测试?
安全测试中有各种奇技淫巧,其中大众所了解到的是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总结:
本篇文章大致介绍了黑盒白盒灰盒测试,以及介绍了一些工具。
关注我们
微信公众号:知柯信息安全
我们的合作伙伴: