Cobra介紹
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為什么能從源代碼中掃描到漏洞
對於一些特征較為明顯的可以使用正則規則來直接進行匹配出,比如硬編碼密碼、錯誤的配置等。 對於OWASP Top 10的漏洞,Cobra通過預先梳理能造成危害的函數,並定位代碼中所有出現該危害函數的地方,繼而基於Lex(Lexical Analyzer Generator, 詞法分析生成器)和Yacc(Yet Another Compiler-Compiler, 編譯器代碼生成器)將對應源代碼解析為AST(Abstract Syntax Tree, 抽象語法樹),分析危害函數的入參是否可控來判斷是否存在漏洞(目前僅接入了PHP-AST,其它語言AST接入中)。
Cobra安裝
Cobra可運行在Python 2.6 -- 3.6+之間。
# 修改hosts
瀏覽器打開 https://ipaddress.com/website/github.com ,將解析到的github.com地址寫到hosts中
# 安裝依賴和常用工具
yum -y install flex bison phantomjs git
yum -y install epel-release
yum -y install python-pip
# 安裝python3.7
1、安裝依賴
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel wget
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar xvf Python-3.7.3.tgz
cd Python-3.7*/
./configure --prefix=/usr/local/python3.7
make && make install
mv /usr/bin/python{,-202201291718}
ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python
python -V
cd
注意:
yum需要使用python2,將/usr/bin/python改為python3后,yum就不能正常運行了,因此需要更改一下yum的配置
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
編輯這兩個文件,將文件頭的#!/usr/bin/python改為#!/usr/bin/python2即可。
# 克隆cobra項目
git clone --depth=1 https://github.com/WhaleShark-Team/cobra.git
cd cobra
/usr/local/python3.7/bin/pip3 install --upgrade pip
/usr/local/python3.7/bin/pip3 install -r requirements.txt
python cobra.py --help
回顯:
usage: cobra [-h] [-t <target>] [-f <format>] [-o <output>] [-r <rule_id>]
[-d] [-sid SID] [-dels] [-rp] [-m] [-H <host>] [-P <port>]
,---. |
| ,---.|---.,---.,---.
| | || || ,---|
`---``---``---`` `---^ v2.0.0-alpha.5
GitHub: https://github.com/WhaleShark-Team/cobra
Cobra is a static code analysis system that automates the detecting vulnerabilities and security issue.
....
....
Usage:
python cobra.py -t tests/vulnerabilities
python cobra.py -t tests/vulnerabilities -r cvi-190001,cvi-190002
python cobra.py -t tests/vulnerabilities -f json -o /tmp/report.json
python cobra.py -t https://github.com/ethicalhack3r/DVWA -f json -o feei@feei.cn
python cobra.py -t https://github.com/ethicalhack3r/DVWA -f json -o http://push.to.com/api
python cobra.py -H 127.0.0.1 -P 8888
# 啟動cobra的web頁面
python cobra.py -H 192.168.1.113 -P 80
如-H后面參數寫127.0.0.1,則只能本機打開web頁面,如本地沒裝圖形界面,該web頁面啟用與否沒差異
如要通過網絡訪問,-H后面參數需寫可從網絡中訪問到的IP,還得寫本地防火牆規則或者直接禁用防火牆)
如果要在web頁面提交自己准備的web程序包來執行掃描,需要執行一下初始化配置,否則會提示upload錯誤。
在cobra.py文件所在目錄,有個配置文件模板 config.template
[root@node3 cobra]# pwd
/root/cobra
[root@node3 cobra]# cp config.template config
==============================================
也可通過下面git地址或通過具體目錄位置進行掃描
.
.
.
.
游走在各發行版間老司機QQ群:905201396
不要嫌啰嗦的新手QQ群:756805267
Debian適應QQ群:912567610