一、背景
洞态 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下载)
2.安装
3.找到下载的安装包,因为当前agent版本只支持python3,所以执行 pip3 install ./dongtai-agent-python.tar.gz
当你看到以下截图内容,说明已经安装成功
4.配置
5.找到python_range_demo/mysite/mysite/settings.py文件,找到MIDDLEWARE所在行,插入一条 "dongtai_agent_python.middlewares.django_middleware.FireMiddleware",
6.修改环境变量
7.打开Pycharm环境配置,修改环境变量,增加projectName="testProject",这里添加的环境变量为洞态IAST的项目名称,系统数据通过项目名称做匹配关联。
8.登录洞态IAST,新增项目,项目名称与agent端环境变量projectName保持一致
官方文档:https://hxsecurity.github.io/...
五、运行项目
1.直接重启项目
访问 http://127.0.0.1:8007/demo/no... , 若返回{"status": "201"},说明项目启动成功
查看洞态【系统配置】-> 【引擎管理】,如截图,说明agent启动成功
六、漏洞检测
1.测试项目功能,开始被动式挖洞。分别使用postman发送以下两个请求
2. 登录洞态IAST
- 打开【应用漏洞】,头部信息筛选,开发语言选择【Python】,置空漏洞状态
- 查看“/demo/post_open的POST请求出现路径穿越漏洞”,选中它然后点击查看详情,跳转到洞态IAST漏洞详情页面,开始分析漏洞
七、漏洞验证
直接修改form-data,name内容,修改为"mysite/settings.py",发送请求
通过修改变量内容,请求,直接返回了settings.py文件代码内容,漏洞验证成功。
八、总结
通过本次测试发现洞态IAST可以检测路径穿越漏洞,只需简单的安装配置,十分方便,推荐大家尝试、使用。
九、参考
该文章来源火线zone社区:https://zone.huoxian.cn/d/390...