您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何利用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
首先,使用下列命令將該項目源碼克隆至本地:
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鏡像:
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開源許可證協議。
關于如何利用DVGA研究和學習GraphQL技術的安全實現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。