加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 安全 > 正文

怎样巧用DVGA研究和学习GraphQL技术的安全实现

发布时间:2023-07-29 14:14:09 所属栏目:安全 来源:
导读:这篇文章将为大家详细讲解有关如何利用DVGA研究和学习GraphQL技术的安全实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

DVGA

DVGA(Damn Vulnerab
这篇文章将为大家详细讲解有关如何利用DVGA研究和学习GraphQL技术的安全实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
 
DVGA
 
DVGA(Damn Vulnerable GraphQL Application)是一款针对Facebook的GraphQL技术的安全学习工具,该项目中包含大量Facebook GraphQL技术的不安全实现,即故意留下了大量的漏洞,以供广大研究人员探索和学习GraphQL技术的安全性。
 
DVGA是GraphQL的一个不安全的实现,其中包含了大量故意遗留的漏洞,它提供了一个安全的环境来帮助广大研究人员研究和攻击GraphQL应用程序,并允许开发人员和IT专业人员测试GraphQL漏洞。
 
DVGA中包含了大量安全漏洞,比如说注入漏洞、代码执行漏洞、认证绕过漏洞和拒绝服务漏洞等等。
 
操作模式
 
DVGA支持新手等级和专家等级这两种以游戏形式驱动的模式,这两种模式对应的漏洞利用难度会有不同。
 
攻击场景
 
拒绝服务:批查询攻击、深度递归查询攻击、资源密集型查询攻击。
 
信息披露:GraphiQL接口、GraphQL字段建议、服务器端请求伪造。
 
代码执行:操作系统命令注入。
 
注入漏洞:存储型跨站脚本攻击、日志嗅探、日志注入、HTML注入。
 
认证绕过:GraphQL接口保护绕过、GraphQL查询拒绝列表绕过。
 
其他:GraphQL查询弱密码保护、任意文件写入、路径遍历。
 
工具要求
 
DVGA的正常运行需要下列Python 3代码库的支持:
 
Python3
 
Flask
 
Flask-SQLAlchemy
 
Graphene
 
Graphene-SQLAlchemy
 
工具安装
 
Docker
 
首先,使用下列命令将该项目源码克隆至本地:
 
git clone git@github.com:dolevf/Damn-Vulnerable-GraphQL-Application.git && cd Damn-Vulnerable-GraphQL-Application
 
使用下列命令构建Docker镜像:
 
docker build -t dvga .
 
接下来,通过镜像创建一个容器:
 
docker run -t -p 5000:5000 -e WEB_HOST=0.0.0.0 dvga
 
创建完成后,在浏览器中访问地址http://localhost:5000即可使用DVGA。
 
注意,如果你需要将应用程序绑定至一个特殊端口,比如说8080,则可以使用下列参数:
 
-e WEB_PORT=8080
 
Docker Hub
 
使用下列命令从Docker Hub拉取Docker镜像:
 
docker pull dolevf/dvga
 
使用镜像创建容器:
 
docker run -t -p 5000:5000 -e WEB_HOST=0.0.0.0 dolevf/dvga
 
创建完成后,在浏览器中访问地址http://localhost:5000即可使用DVGA。
 
服务器端
 
在命令行终端切换到/opt目录:
 
cd /opt/
 
使用下列命令将该项目源码克隆至本地:
 
git clone git@github.com:dolevf/Damn-Vulnerable-GraphQL-Application.git && cd Damn-Vulnerable-GraphQL-Application
 
安装依赖组件:
 
pip3 install -r requirements.txt
 
运行应用程序:
 
python3 app.py
 
运行后,在浏览器中访问地址http://localhost:5000即可使用DVGA。

许可证协议
 
本项目的开发与发布遵循MIT开源许可证协议。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!