0x00 前言
@0r3ak 师傅向我推荐了一款代码审计工具Cobra(wufeifei/cobra),该工具基于Python开发,可以针对多种语言的源代码安全性评估。
在测试的过程中,总是不得要领,有一些问题不知道怎么解决,都是又很想了解下这款项目的实现原理。
在这一系列的笔记中,将会记录下对 Cobra 的使用体验,以及源码级的分析。
0x01 基础环境
Ubuntu 16.04.3 LTS
Python 2.7.12
Cobra 2.0.0-alpha.5
pdb
0x02 执行流程&关键代码分析
关于 Cobra 的安装,与基本的使用方法在 Cobra 的文档中说的很详细了。我这里就不在赘述。不了解的同学可以在本文的参考链接中获取 Cobra 的文档。
这篇笔记主要记录下,CLI模式下,对某一个文件中代码做安全审计的过程中,相关的函数调用栈,及关键函数的原理分析。其间会通过pdb动态调试结合静态代码分析以及项目的文档,辅助对整个项目的理解。(关于pdb的使用方法可以参考:Flask debug 模式 PIN 码生成机制安全性研究笔记)
第1步:在cobra.py文件中sys.exit(main())语句前下断点
第2步:执行如下代码(具体的功能为:审计XXX目录下的代码)
python cobra.py -t /home/tonghua/XXX
步入到main()函数中
main()中的