Python白盒审计工具整理

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 项目地址

可以定位到一些函数

总结

总体来说,白盒审计的这些工具误报率较高,准确率较低,还需要深入使用考察,配合手工查看等等。

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!