代码审计工具学习之Seay(安装以及初步认识)

目录

1.1名词解释

1.2代码审计的重要性

1.3代码审计的步骤

1.4代码审计的内容

1.5常见的代码审计工具

2 Seay

2.1什么是Seay

2.2 Seay的安装过程

3典型漏洞分析

3.1什么是命令注入漏洞

3.2 如何理解命令注入漏洞

3.3 如何防御命令注入漏洞

4 利用工具对命令注入漏洞进行分析

4.1 DVWA靶场命令注入漏洞分析

4.2 Pikachu靶场命令注入漏洞分析


1.1名词解释

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

顾名思义就是检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,比如使用了危险的函数或者是变量使用不当,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。

1.2代码审计的重要性

在信息时代,互联网对于人们的生活日渐重要,越来越多的个人信息存储在网络上,越来越多的日常活动和网络息息相关,我们似乎越来越离不开网络。

那么这个时候网络的安全性就显得尤为重要,记得曾经看过的一个关于网络安全的电视剧深刻的诠释了网络安全的重要性,其中最经典的DDOS攻击,国家电网被黑客攻击,一时间交通瘫痪,银行金融机构医院等都停止了运行,黑客利用自己发明的病毒使其自动攻击核心服务器,它们最终的目标是国家核电站,核电站一旦爆炸后果不堪设想。

上述只是黑客行为的一种,其实在我们日常生活中使用的网站,每天都遭受着亿万次攻击,若不是网络安全从业人员的防御,那么我们的生活会变的多么糟糕。

而我们国家近年来也开始重视网络安全的建设相关法律法规出台,对于整个行业的扶持,都让人们看到了国家的决心,以及对于网络安全的重视。

代码审计是渗透测试的一个过程,它是利用网站源代码,对其进行安全性分析,实则也是网站发布前的非客户需求的一次安全性测试,在安全的角度分析可能存在攻击的不安全代码的引用。

通过白名单的方式使用人工或者自动化检测的方式检验源代码中存在的安全问题,所以代码审计工作需要很多的实战经验。

1.3代码审计的步骤

  1. 配置审计分析环境
  2. 熟悉业务流程
  3. 分析程序架构
  4. 工具自动化分析
  5. 人工审计结果
  6. 整理审计报告

1.4代码审计的内容

  1. 前后台分离的运行架构
  2. WEB服务的目录权限分类
  3. 认证会话与应用平台结合
  4. 数据库的配置规范
  5. SQL语句的编写规范
  6. WEB服务的权限配置
  7. 对抗爬虫引擎的处理措施

1.5常见的代码审计工具

RIPS是一款开源的,具有较强漏洞挖掘能力的自动化代码审计工具。它使用PHP语言编写的,用于静态审计PHP代码的安全性。

VCG(VisualCodeGrepper),是一款支持C/C++、C#、VB、PHP、Java和PL/SQL的免费代码安全审计工具。它是一款基于字典的检测工具,功能简洁,易于使用。

Fortify SCA(Static Code Analyzer) 一款商业版源代码审计工具。它使用独特的数据流分析技术,跨层跨语言地分析代码的漏洞产生,目前支持所有的主流开发语言。

2 Seay

2.1什么是Seay

代码审计工具可以辅助我们进行白盒测试,大大提高漏洞分析和代码挖掘的效率。在源代码的静态安全审计中,使用自动化工具辅助人工漏洞挖掘,一款好的代码审计软件,可以显著提高审计工作的效率。
   代码审计工具按照编程语言、审计原理、运行环境可以有多种分类。商业性的审计软件一般都支持多种编程语言,比如VCG、Fortify SCA,缺点就是价格比较昂贵。其他常用的代码审计工具还有findbugs、codescan、seay,但是大多都只支持Windows环境。

Seay这是基于C#语言开发的一款针对PHP代码安全性审计的系统,主要运行于Windows系统上。这款软件能够发现SQL注入、代码执行、命令执行、文件包含、文件上传、绕过转义防护、拒绝服务、XSS跨站、信息泄露、任意URL跳转等漏洞,基本上覆盖常见PHP漏洞。另外,在功能上,它支持一键审计、代码调试、函数定位、插件扩展、自定义规则配置、代码高亮、编码调试转换、数据库执行监控等数十项强大功能。

2.2 Seay的安装过程

seay也不知道为什么,我也没有找到官网,但是网上有很多资源,可以自己去下载。

下载完安装包之后,解压到自己想要的电脑路径

图2.2.1 安装包解压

 解压成功之后,点击文件夹中的文件如上图所示,之后根据提示不断地“下一步”该软件不需

要进行任何额外的配置

图2.2.2 软件首界面

安装完成之后,点击图像进入软件,首界面如上图所示,可以看出该软件的一大优势也是界面简单,

操作易上手。

3典型漏洞分析

3.1什么是命令注入漏洞

命令注入漏洞,可能是应用程序中可能发生的最危险的漏洞之一。当应用程序允许用户输入与系统命令混淆时,就会发生命令注入漏洞或操作系统命令注入漏洞。当用户输入在没有适当防御措施的情况下直接连接到系统命令中时,就会发生这种情况。

3.2 如何理解命令注入漏洞

简单来说,命令注入漏洞从名词上大家就应该明白,它本身也是一种注入漏洞,所以只要是在用户可以控制输入的地方,就有可能会发生命令注入漏洞,与命令注入漏洞有关的可能就是系统命令,也就是我们可以通过命令提示符知道的消息,或者说采用的语法命令,我们都可以在这里输入查询,同样可以查到我们想知道的东西,最经典的就是ping IP,或者查看IP,查看系统用户权限等,所以,通过以上可知我们知道命令注入漏洞的危害也是很大的。

3.3 如何防御命令注入漏洞

那么,如何防御呢,常见的命令注入漏洞的防御就是白名单过滤,对于用户的输入进行白名单的限制,采用转义函数,对一些特殊符号进行转义,同时添加防御CSRF漏洞最有效的token,可以有效地防止命令注入漏洞。

4 利用工具对命令注入漏洞进行分析

4.1 DVWA靶场命令注入漏洞分析

图4.1.1 新建项目

进入软件之后,点击新建项目,选择DVWA靶场源代码所载的文件

                                                    图4.1.2 DVWA靶场 

 

                                                   图4.1.3 导入源代码 

图4.1.4 运行seay

点击开始,软件开始运行,分析靶场源代码。

图4.1.5 等待结果

通过进度条来检查文件是否分析完成。

                                                             图4.1.6 运行完成

 

图4.1.7 生成报告

分析完成之后,点击生成报告。

图4.1.8 报告生成

生成报告,并选择报告生成保存的位置即可(如图4.1.9)

图4.1.9 

图4.1.10 查看报告

点击(图4.1.9生成的报告),然后开始分析

图4.1.11 命令注入漏洞

确定自己想要分析的漏洞,在报告的165-166行,会存在命令注入漏洞的文件的详细信息,以

及存在漏洞利用的函数。

 

图4.1.12 分析结果

在文件中找到命令注入漏洞

图4.1.13 验证结果

我们发现(图4.1.12)中并没有对命令注入漏洞进行防御,那么我们可以采用最简单的命令进

行验证:127.0.0.1 | ipconfig。

4.2 Pikachu靶场命令注入漏洞分析

图4.2.1 新建项目

第一步仍然是新建一个项目,然后导入源代码文件(如图4.2.2)

图4.2.2 导入源代码

选择pikachu靶场源代码所在的文件的位置,然后引入项目。

图4.2.3分析漏洞

点击“开始”,软件开始运行分析整个项目。

图4.2.4 分析完成

查看进度条判断是否分析完成

图4.2.5 生成报告

分析完成之后,点击“生成报告”。

图4.2.6 报告生成

选择报告生成的位置(如下图4.2.7)所示

                                                             图4.2.7 

 

图4.2.8 分析结果

点击报告,(如图4.2.8)

图4.2.9 分析命令注入漏洞

在报告中查找目标漏洞,观察漏洞所在文件的详细位置,然后在seay中定位(如图4.2.10)。

图4.2.10 定位代码

 我们会在图4.2.10所在的位置发现漏洞的存在,经过分析我们知道漏洞的原因是因为没有对输

入进行过滤或者过滤不严格,那么我们就可以轻易地利用这个漏洞。

图4.2.11 验证漏洞

我们输入最简单的验证方式127.0.0.1 | ipconfig 我们发现成功查验出了系统相关信息。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 8
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Seay代码审计工具是一款针对软件代码进行漏洞扫描和安全评估的工具。它能够帮助开发人员和安全人员发现代码中的潜在风险和漏洞,并提供针对性的建议和修复措施。 Seay代码审计工具的提取结果包括以下几个方面: 1. 代码静态分析:Seay会对代码进行静态分析,发现其中存在的潜在安全漏洞,比如SQL注入、跨站脚本攻击等。通过对代码的全面扫描,它能够识别出可能存在的安全风险点,并给出相应的建议和修复方案。 2. 敏感信息泄露检测:Seay能够检测代码中是否存在敏感信息泄露的风险,例如包含硬编码的密钥、密码、API密钥等。这有助于开发人员及时发现并修复潜在的信息泄露问题,提高系统的安全性。 3. 安全最佳实践检查:Seay会根据相关的安全最佳实践标准,检查代码中是否存在与安全最佳实践相违背的问题。这包括代码中是否存在不安全的函数调用、缺乏输入验证、错误的权限控制等。通过检查代码的合规性,可以确保系统按照安全标准来进行开发。 4. 弱密码检测:Seay能够检测代码中使用的密码强度是否足够,包括密码长度、字符组合、是否存在常见弱密码等。这有助于确保系统的用户密码的安全性。 总之,Seay代码审计工具通过全面扫描和分析软件代码,能够提供开发人员和安全人员关于代码安全性的详细报告,有助于及时发现和修复潜在的安全漏洞,提升系统的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值