0x01前言
好久没更博了突然才发现,最近也是经历了一些工作上的变动,从乙方到甲方,包括工作方式和工作内容也或多或少也在逐渐偏移。甲方对于基础安全的建设需要做的也还有很多,以及SDL的落地还差哪些,最近在考虑Python源码的白盒审计,于是找了一些开源的工具和脚本进行测试。
0x02工具
为了便于对Python源码白盒审计,这里找了网上开源的一些Python脚本工具,对代码进行简单匹配查询,快速定位危险函数和参数调用,易于发现一些常见的Web漏洞等。
这里对以下脚本工具进行测试。
bandit
项目地址:https://github.com/PyCQA/bandit
利用靶场项目DSVW进行测试,bandit -r 项目路径
cobra
项目地址:https://github.com/WhaleShark-Team/cobra
然后利用靶场项目进行测试,python3 cobra.py -t 项目路径
无奈没有发现问题,于是换本地的一些脚本测试
另外提供webserver端可以GUI查看,python3 cobra.py -H 127.0.0.1 -P 9999
pyekaboo
项目地址:https://github.com/SafeBreach-Labs/pyekaboo
此方法为动态检测,通过对模块方法和类的劫持,拦截进入函数的参数,判断是否有恶意参数传入,判读是否存在漏洞。
更多可参考逢魔实验室分享的文章,https://www.secpulse.com/archives/68344.html
后期看到他们搭的平台挺实用的,管理审计的漏洞,于是也在尝试研究利用Django搭建管理后台,只是功能暂时还没用实现,惭愧,菜啊。
pyt
项目地址:https://github.com/python-security/pyt
利用靶场项目进行测试 python3 -m pyt 项目路径
于是换本地脚本测试
依然没有发现问题
pyvulhunter
项目地址:https://github.com/shengqi158/pyvulhunter
利用靶场进行测试python judge_injection.py -d 项目地址
可以定位到一些函数
总结
总体来说,白盒审计的这些工具误报率较高,准确率较低,还需要深入使用考察,配合手工查看等等。