产品体验中心 下载与支持 产品社区 合作代理 |  咨询电话:400-035-7887/021-6072 5088
当前位置:泽众软件测试网- 技术文章 -正文

静态代码分析和代码审计的方法技巧

发布时间:2020-08-04

现在的软件系统越来越多,这个行业的发展是非常快速的,代码的数量越来越多,系统的复杂程度也是在快速的增长。而且软件开发的编程语言也从使用单一的语言发展为多种语言协同开发。这样使测试的难度也在逐渐的增高。今天我们就先来简单的了解一下静态代码分析和代码审计。

CodeAnalyzer(代码质量管理)

静态代码分析

静态代码分析是指在不实际执行程序的情况下,对代码语义和行为进行分析,由此找出程序中由于错误的编码导致异常的程序语义或未定义的行为。通俗的说,静态代码分析就是在代码编写的同时就能找出代码的编码错误。你不需要等待所有代码编写完毕,也不需要构建运行环境,编写测试用例。它能在软件开发流程早期就发现代码中的各种问题,从而提高开发效率和软件质量。

代码审计

代码审计(Code audit)就是检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。

代码审计是一种以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析。软件代码审计是对编程项目中源代码的全面分析,旨在发现错误,安全漏洞或违反编程约定。 它是防御性编程范例的一个组成部分,它试图在软件发布之前减少错误。

通过阅读一份源码,对其进行各类漏洞挖掘,这样的过程便统称为审计。在审计中,你不但需要知道各类漏洞的原理,还需要良好的审计环境。在面对大型开源程序时,信息量往往十分巨大,所以工具的分析和检索是必不可少的。

随着PHP被广泛使用,PHP的安全问题越来越被关注。而最常见的搭配就是PHP+MySQL,接下来我们探讨一下PHP审计中MySQL注入的挖掘。

1、注入的原理

顾名思义,SQL注入就是通过把SQL命令插入到Web表单提交、输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令的目的。SQL注入是当今网络上最普遍的一种攻击方法。

2、常见的注入

审计中,最常出现的注入便是GET注入、POST注入和Cookie注入。而POST注入也是最容易被忽略的,有时可能因为传递的参数较多,常常忽略某个参数的过滤,从而导致了注入。在实际开发中,往往有的开发人员使用了REQUEST传参,却只对GET进行了过滤,因此可以换一种方式提交数据进行注入

3、http头注入

http客户程序向服务器发送请求的时候必须指明请求类型,从而产生了http头。常见的http头如下所述。

Host:初始URL中的主机和端口。

Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。

User-Agent:浏览器类型。

Accept:浏览器可接收的MIME类型。

Accept-Language:浏览器所希望的语言种类。

Connection:表示是否需要持久连接。

Content-Length:表示请求消息正文的长度。

Cookie:这是最重要的请求头信息之一。

4、二次注入

随着安全问题日趋被重视,一些简单的SQL注入在大中型开源程序中已基本销声匿迹了。而出现更多的则是二次注入,相对于一次注入漏洞而言,二次注入漏洞更难以被发现,但是它却具有与一次注入攻击漏洞相同的攻击威力。

关于静态代码分析和代码审计的一些内容就是这样了,在本文的最后,小编给大家推荐一个简单又好用的代码审计工具,CodeAnalyzer(简称CA)是一个专业代码质量管理的代码审查软件,用于实现静态分析、代码走查、代码规范检查以及代码潜在错误分析的白盒测试工具,它是一种脱离编译器的代码静态分析软件产品。

推荐阅读:

HTML静态页面与CSS该如何审查代码?

50多家公司源代码被泄露究竟是为何?微软、高通竟也在其中

想要了解代码静态分析技术,这些知识不可错过

白盒测试的基本方法有哪些?与黑盒测试的区别?

比较常用的白盒测试工具有哪些?

Java静态代码扫描怎么做?Java静态代码扫描工具的使用方法

本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。
沪ICP备07036474号 2003-2023 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨询

添加客服微信 欢迎咨询测试工具和测试服务

微信客服
问题
反馈
产品
画册

扫描二维码下载泽众软件企业宣传册

产品画册
返回
顶部

方案咨询

×
提交信息

电话咨询,400-035-7887,安排专业技术售前给您解答(产品试用、技术交流、服务咨询和商务报价)。

您的信息已成功提交!

我们的客服人员稍后会与您联系