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接入中)。
Cobra控制台
Cobra源代码安全审计
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)
更多细节看文档
cobra结合java_Cobra – 开源的多语言源代码安全审计工具相关推荐
- 语言 班费管理系统源代码_固定资产管理系统开源的各种语言翻译
固定资产管理系统开源指的是将固定资产管理系统源代码进行开发,进而得到可以免费使用的固定资产管理系统,即是开源的固定资产管理系统.固定资产管理系统简单来说就是利用现代信息技术智能化管理企业资产的管理系统 ...
- 64位开源处理器Rocket的源代码简单介绍
最近大概阅读了一下UCB发布的Rocket处理器的源码,对源代码各个文件的功能有了一些大致的了解,Mark一下. Rocket是一款64bit的标量处理器,5级流水线,采用的是risc-v指令集,集成 ...
- 随机森林c语言编程,一种基于随机森林的C语言源代码静态评分方法与流程
本发明涉及评分领域及机器学习领域,它特别涉及一种基于随机森林的c语言源代码静态评分的构建方法. 背景技术: c语言源代码静态评分是指对根据一定的题目描述做出解答的c语言源代码进行评分.目前,主要流行的 ...
- MATLAB里面的filter和filtfilt的C语言源代码
MATLAB里面的filter和filtfilt的C语言源代码 嗯,算法非常简单,就是网上搜不到C代码实现.filter是个很万能的数字滤波器函数,只要有滤波器的差分方程系数,IIR呀FIR呀都能通过 ...
- 计算星期c语言编码,[转载]计算任何一天是星期几的C语言源代码.
[转载]计算任何一天是星期几的C语言源代码. #include int main() { int day,mn,yr,i,days=0,s,k; int mont[13]={0,31,28,31,30 ...
- c语言手游常用代码,c语言源代码【操作流程】
很多小伙伴都遇到过c语言源代码的困惑吧,一些朋友看过网上零散的c语言源代码的处理方法,并没有完完全全明白c语言源代码是如何解决的,今天小编准备了简单的解决办法,只需要按照1:编写C源代码for_lea ...
- ras的c语言源代码文档,µMore(µITRON操作系统)--功能概况
µMore™ (µITRON操作系统) 概览 μMore是一种专门为下一代移动设备设计的实时操作系统,与μITRON4.0标准应用概要兼容.μMore具有轻松节电功能,并附带了爱可信的AVE-TCP网 ...
- 中国象棋源码c语言,中国象棋C语言源代码.doc
中国象棋C语言源代码 *chess.c*/ #include "dos.h" #include "stdio.h" /**/ #define RED 7 #de ...
- 二元函数求最小值 c语言,遗传算法C语言源代码(一元函数和二元函数)
<遗传算法C语言源代码(一元函数和二元函数)>由会员分享,可在线阅读,更多相关<遗传算法C语言源代码(一元函数和二元函数)(15页珍藏版)>请在人人文库网上搜索. 1.C语言遗 ...
最新文章
- windows睡眠(休眠)唤醒助手_一劳永逸解决WIN10所有睡眠问题
- 用matlab绘制一个时钟
- [转]python yield
- 分析递归函数的时间复杂度
- 关于TCHAR和string对象的c.str()一些注意事项
- 为什么要始终启用编译器警告?
- 做软件也是要有点追求的
- HttpUtils发送delete方法
- 自然资源部标准地图底图转矢量Shapefile并配准
- iphone开发每日一练【2011-10-04】
- 中国银联在线支付接口开发——前台支付
- 【价值积累】属于我的创业感悟
- idm 2019 中文版下载
- 洛谷 P1490 买蛋糕 解题报告
- 互联网业务实战(一)--今日头条文章发布实现
- 【面试准备】MySQL索引篇
- Python SyntaxError: Missing parentheses in call to 'print'
- influxDB自定义查询时区
- PDCCH-based WUS signal
- 平克四部曲之《白板》