CVE-2021-22205原理及復現


CVE-2021-22205

RCE on Gitlab version < 13.10.3

一、根本原因

  • 當上傳圖片文件時,Gitlab Workhorse將擴展名為jpg|jpeg|tiff的文件通過ExifTool刪除任何非白名單標記。
  • 其中一個支持的格式是DjVu。當解析DjVu注釋時,標記被賦值為convert C escape sequences
  • 作者的文章:https://devcraft.io/2021/05/04/exiftool-arbitrary-code-execution-cve-2021-22204.html (詳情請看此處)
#convert C escape sequences 出現以下代碼
$tok = eval qq{"$tok"};

二、漏洞復現

  1. 首先需要一個Gitlab平台的一個賬戶及密碼(有些公司的Gitlab平台是允許注冊的)
    register

  2. 登錄后到個人主頁,找到Snippets

    1

  3. 此處需要上傳DjVu格式圖片(即Exp)

    • DjVu格式圖片制作方式如下

      1. 下載安裝DjVuLibre 地址http://djvu.sourceforge.net/

      2. 准備好將要壓縮圖片的文本

      3. 使用命令djvumake rce.djvu INFO=0,0 BGjp=/dev/null ANTa=rce.txt && mv rce.djvu rce.jpg 生成Exp

  4. 上傳Exp

  5. 成功執行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM