cobra结合java_Cobra – 开源的多语言源代码安全审计工具

Cobra介绍

Cobra是一款源代码安全审计工具,支持检测多种开发语言源代码中的大部分显著的安全问题和漏洞。

由于开发人员的技术水平和安全意识各不相同,导致可能开发出一些存在安全漏洞的代码。 攻击者可以通过渗透测试来找到这些漏洞,从而导致应用被攻击、服务器被入侵、数据被下载、业务受到影响等等问题。 “源代码安全审计”是指通过审计发现源代码中的安全隐患和漏洞,而Cobra可将这个流程自动化。

Cobra为什么能从源代码中扫描到漏洞?

对于一些特征较为明显的可以使用正则规则来直接进行匹配出,比如硬编码密码、错误的配置等。 对于OWASP Top 10的漏洞,Cobra通过预先梳理能造成危害的函数,并定位代码中所有出现该危害函数的地方,继而基于Lex(Lexical Analyzer Generator, 词法分析生成器)和Yacc(Yet Another Compiler-Compiler, 编译器代码生成器)将对应源代码解析为AST(Abstract Syntax Tree, 抽象语法树),分析危害函数的入参是否可控来判断是否存在漏洞(目前仅接入了PHP-AST,其它语言AST接入中)。

c2362f7711e79555a1ded988672c6423.pngCobra控制台

e54eedfbdadd00d4a4b31e8577a5775d.pngCobra源代码安全审计

Cobra特点

Multi-language Supported(支持多种开发语言)支持PHP、Java等开发语言,并支持数十种类型文件。

Multi-Vulnerabilities Supported(支持多种漏洞类型)首批开放数万条不安全的依赖检查规则和数十条代码安全扫描规则,后续将持续开放更多扫描规则。

GUI/CLI/API Mode(命令行模式和API模式)提供本地Web Server服务,可使用GUI可视化操作,也可支持本地API接口,方便和其它系统(发布系统、CI等)对接扩展。

开发源代码(基于开放的MIT License,可更改源码)

支持开发语言多(支持十多种开发语言和文件类型)

支持漏洞类型多(支持数十种漏洞类型)

支持各种场景集成(提供API也可以命令行使用)

专业支持,持续维护(由白帽子、开发工程师和安全工程师一起持续维护更新,并在多家企业内部使用)

Cobra安装

系统支持

系统支持情况mac OS支持

Linux支持

Windows暂不支持

Python版本

Cobra可运行在Python 2.6 - 3.6+之间。

特殊依赖

以下系统需要单独安装依赖。

macOS系统依赖

brew install grep findutils flex phantomjs

1

2

brewinstallgrepfindutilsflexphantomjs

Ubuntu系统依赖

apt-get install flex bison phantomjs

1

2

apt-getinstallflexbisonphantomjs

CentOS系统依赖

yum install flex bison phantomjs

1

2

yuminstallflexbisonphantomjs

Cobra安装方法

git clone https://github.com/WhaleShark-Team/cobra.git && cd cobra

pip install -r requirements.txt

python cobra.py --help

1

2

3

gitclonehttps://github.com/WhaleShark-Team/cobra.git && cd cobra

pipinstall-rrequirements.txt

pythoncobra.py--help

Cobra支持以下开发语言和文件类型

语言用来标记扫描规则对应需要扫描的后缀。 Cobra支持以下开发语言和文件类型,支持程度取决于对应开发语言或文件类型的规则数量。

语言主语言后缀PHP是.php/.php3/.php4/.php5

Java是.java

Python是.py

JSP否.jsp

C否.h/.c

Ruby否.rb

Perl否.pl

Lua否.lua

Go否.go

Swift否.swift

C++否.c/.cpp

C#否.cs

Header否.h

Objective-C否.m

Scale否.sbt/.scale

Ceylon否.ceylon

Kotlin否.kt

SHELL否.sh

BAT否.bat

JavaScript否.js

HTML否.html/.htm/.pthml

CSS否.css/.less/.scss/.styl

Image否.jpg/.png/.bmp/.gif/.ico/.cur

Font否.eot/.otf/.svg/.ttf/.woff

Conf否.properties/.conf/.ini/.cfg/.yml/.xml/.iml/.sfp/.manifest

CMake否.cmake/.cmake.in

SQL否.sql

Compression否.zip/.tar/.tar.gz/.rar

Executable否.exe

LOG否.log

Text否.txt/.text/.md/.rst/.csv

Office否.doc/.docx/.wps/.rtf/.xls/.ppt

Media否.mp3/.mp4/.swf/.flv

Certificate否.p12/.crt/.key/.pfx/.csr

Source否.psd/.ai/.axure/.xmind/.plan

Thumb否.db/.DS_Store

GIT否.pack/.idx/.sample

Cobra能发现哪些漏洞?

Description(EN)Description(CN)Misconfiguration错误的配置

Server-Side Forge服务端伪造

Hard-coded Password硬编码密码

Cross-Site Script跨站脚本

Cross-Site Request Forge跨站请求伪造

SQL InjectionSQL注入

Xpath InjectionXpath注入

LDAP InjectionLDAP注入

XML External Entity InjectionXML实体注入

Local/Remote File Inclusion文件包含漏洞

Code Injection代码注入

Command Injection命令注入

Information Exposure信息泄露

Predictable Pseudorandom Generator可预测的伪随机数生成器

Unvalidated Redirect未经验证的任意链接跳转

HTTP Response SplittingHTTP响应拆分

Session FixationSESSION固定

unSerialize反序列化漏洞

Deprecated Function废弃的函数

Logic Bug逻辑错误

Variables Override变量覆盖漏洞

Weak Function不安全的函数

Weak Encryption不安全的加密

WebShellWebShell

Android VulnerabilitiesAndroid漏洞

iOS VulnerabilitiesiOS漏洞

Insecure Components引用了存在漏洞的三方组件(Maven/Pods/PIP/NPM)

更多细节看文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值