洞态IAST Python-agent 内测版 测试
一、背景
洞态 IAST 首发 Python-agent 尝鲜,验证 Agent 针对路径穿越漏洞的检测能力。
洞态 IAST 的检测方式是扫描运行中的应用程序,将扫描到的漏洞信息发送到云端进行检测处理。
二、验证方式
本次验证选择在本地启动python靶场,安装dongtai-iast Python探针,请求靶场Api,做漏洞检测。
三、本地环境搭建
- 克隆 python 靶场 源码
$ git clone https://github.com/jinghao1/python_range_demo
注:python_range_demo 靶场,存在路径穿越漏洞。运行环境为python3.8,使用的Django3.2版本。
- 使用 PyCharm 打开靶场项目,Python运行版本选择3.8
四、Python-agent的下载与安装
- 下载 DongTai IAST 插件, 需要登录洞态 IAST系统,进入部署IAST页面,点击下载(同时,也可以使用shell命令curl下载)

安装
找到下载的安装包,因为当前agent版本只支持python3,所以执行 pip3 install ./dongtai-agent-python.tar.gz
当你看到以下截图内容,说明已经安装成功

配置
找到python_range_demo/mysite/mysite/settings.py文件,找到MIDDLEWARE所在行,插入一条
"dongtai_agent_python.middlewares.django_middleware.FireMiddleware",
修改环境变量
打开Pycharm环境配置,修改环境变量,增加projectName="testProject",这里添加的环境变量为洞态IAST的项目名称,系统数据通过项目名称做匹配关联。

- 登录洞态IAST,新增项目,项目名称与agent端环境变量projectName保持一致

官方文档:https://zone.huoxian.cn/d/390-iast-python-agent
五、运行项目
1.直接重启项目



六、漏洞检测
1.测试项目功能,开始被动式挖洞。分别使用postman发送以下两个请求


2. 登录洞态IAST
- 打开【应用漏洞】,头部信息筛选,开发语言选择【Python】,置空漏洞状态

- 查看“/demo/post_open的POST请求出现路径穿越漏洞”,选中它然后点击查看详情,跳转到洞态IAST漏洞详情页面,开始分析漏洞

七、漏洞验证
直接修改form-data,name内容,修改为"mysite/settings.py",发送请求

通过修改变量内容,请求,直接返回了settings.py文件代码内容,漏洞验证成功。
八、总结
通过本次测试发现洞态IAST可以检测路径穿越漏洞,只需简单的安装配置,十分方便,推荐大家尝试、使用。
九、参考