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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
phpMyAdmin-CVE-2020-5504-Exploit — phpMyAdmin의 CVE-2020-5504를 겨냥한 승인된 SQL 인젝션 익스플로잇 프레임워크로, 자동화된 데이터베이스 열거, 블라인드 인젝션, 프록시 지원, 그리고 침투 테스트 및 보안 연구를 위한 구조화된 보고 기능을 갖추고 있습니다. | Kitploit
도구/GitHubGitHub/cerberusmrxi/phpmyadmin-cve-2020-5504-exploit
ReconnaissanceVulnerability ScannersExploitationWeb Application ExploitationInformation GatheringWeb SecurityPenetration TestingDatabase Security

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
cerberusmrxi/phpmyadmin-cve-2020-5504-exploit

phpMyAdmin-CVE-2020-5504-Exploit

phpMyAdmin의 CVE-2020-5504를 겨냥한 승인된 SQL 인젝션 익스플로잇 프레임워크로, 자동화된 데이터베이스 열거, 블라인드 인젝션, 프록시 지원, 그리고 침투 테스트 및 보안 연구를 위한 구조화된 보고 기능을 갖추고 있습니다.

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

CVE-2020-5504 phpMyAdmin 보안 평가 도구

phpMyAdmin 배포 환경에서 CVE-2020-5504를 식별하고 검증하기 위한 공인된 보안 테스트 및 연구 프레임워크

VersionPythonLicenseSecurity ResearchCVEPull Requests

개요 · 기능 · 설치 · 사용법 · 보고서 · 구조 · 기여

책임 있는 사용 안내: 이 프로젝트는 귀하가 소유하거나 명시적으로 평가 권한을 부여받은 시스템에서만 사용하도록 고안되었습니다. 서면 허가와 명확한 테스트 범위 없이 공개, 제3자 또는 운영 시스템을 대상으로 사용하지 마십시오.


스크린샷

CLI 출력사용법
CLI OutputUsage

개요

CVE-2020-5504는 phpMyAdmin 사용자 계정 페이지에 영향을 주는 SQL 인젝션 취약점입니다. 공식 phpMyAdmin 권고에 따르면, phpMyAdmin 4.9.4 이전의 4.x 버전과 phpMyAdmin 5.0.0이 영향을 받으며, 권고는 4.x 계열의 경우 4.9.4 이상, 5.x 계열의 경우 5.0.1 이상으로 업그레이드할 것을 권장합니다.[1] 국가 취약점 데이터베이스(NVD)는 악용을 위해 서버에 접근 가능한 유효한 MySQL 계정이 필요하다고 기록하고 있습니다.[2]

이 프로젝트는 공인된 침투 테스트, 통제된 검증, 보안 연구를 위한 체계적인 워크플로우를 제공합니다. 평가자가 대상을 식별하고, 대상이 영향을 받는 것으로 보이는지 확인하며, 증거를 문서화하고, 수정 추적을 위한 구조화된 보고서를 생성하는 데 도움이 되도록 설계되었습니다.

프로젝트 목표

프레임워크는 네 가지 목표를 중심으로 구성됩니다:

  1. 식별 phpMyAdmin 설치 환경을 찾고 버전 관련 지표를 수집합니다.

  2. 검증 가능한 경우 통제되고 비파괴적인 점검을 통해 의심되는 노출을 확인합니다.

  3. 평가 구성 가능한 제한, 재시도 동작, 선택적 프록시를 사용하여 공인된 대상을 평가합니다.

  4. 보고 검토, 보관, 워크플로우 통합이 쉬운 형식으로 결과를 보고합니다.

이 프로젝트가 아닌 것

이 프로젝트는 패치, 공급업체 지침, 보안 구성, 또는 공식 침투 테스트 승인 절차를 대체하지 않습니다. 모든 배포, 구성, 버전, 네트워크 환경을 탐지한다는 보장도 없습니다. 모든 결과는 수동으로 검토되어야 하며, 자동 보안 판정이 아닌 평가 증거로 취급되어야 합니다.


목차

  • 개요

  • 책임 있는 사용

  • 기능

  • 평가 워크플로우

  • 요구 사항

  • 설치

  • 사용법

  • 운영 모드

  • 명령줄 옵션

  • 구성

  • 보고서

  • 구조

  • 문제 해결

  • 수정 지침

  • 개발

  • 기여

  • 변경 이력

  • 라이선스

  • 감사의 말

  • 문의 및 지원

  • 참고 문헌


책임 있는 사용

승인 필수

자산 소유자로부터 명확한 승인을 받은 경우에만 이 도구를 자산에 대해 실행하십시오. 승인에는 대상, 허용된 테스트 기간, 허용된 기법, 소스 IP, 데이터 처리 요구 사항, 에스컬레이션 연락처, 중지 조건이 정의되어야 합니다.

인터넷에 연결된 시스템에 단순히 연결 가능하다는 이유만으로 테스트하지 마십시오. 연결 가능성은 허가가 아닙니다.

데이터 처리

평가 모드는 데이터베이스, 테이블, 열 또는 레코드에 대한 정보를 생성할 수 있습니다. 모든 출력을 잠재적으로 민감한 정보로 취급하십시오. 적절한 접근 제어를 사용하여 보고서를 저장하고, 셸 기록에 비밀을 남기지 말며, 참여 규칙에 따라 보고서를 암호화하고, 참여 종료 후 임시 데이터를 안전하게 삭제하십시오.

운영 안전장치

평가를 시작하기 전에 검증된 백업 또는 복구 절차, 시스템 소유자와의 통신 채널, 문서화된 롤백 또는 중지 계획을 확인하십시오. 가능하면 격리된 테스트 환경을 우선 사용하십시오. 평가 질문에 답할 수 있는 가장 덜 침습적인 모드를 사용하십시오.


기능


평가 워크플로우

권장 워크플로우는 의도적으로 단계적으로 구성되어 있어, 평가자가 가장 영향이 적은 활동부터 시작하여 승인된 경우에만 범위를 확장할 수 있습니다.``` ┌──────────────────┐ │ Define scope │ Confirm written authorization and test boundaries └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Detect │ Identify phpMyAdmin and collect version indicators └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Verify │ Perform controlled vulnerability checks └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Assess, if │ Continue only when explicitly authorized │ approved │ └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Report │ Preserve evidence, limits, timestamps, and conclusions └──────────────────┘

root@kitploit:~
긍정적 결과는 대상 버전, 인증 컨텍스트, 요청 증거, 참여 범위와 대조하여 검토해야 합니다. 부정적 결과는 배포가 안전하다는 것을 증명하지 않으며, 버전 차이, 액세스 제어, 라우팅, 애플리케이션 사용자 지정, 속도 제한 또는 불충분한 가시성을 반영할 수 있습니다.

---

## 요구 사항

### 런타임 요구 사항

| 요구 사항 | 지원 기준선 |
| --- | --- |
| 운영 체제 | Linux, macOS 또는 Windows |
| Python | 3.6 이상, 종속성 호환성에 따름 |
| 패키지 관리자 | `pip` |
| 버전 관리 | Git, 리포지토리에서 설치할 때 |
| 네트워크 액세스 | 명시적으로 승인된 평가 대상에 대한 연결 |

### Python 종속성

프로젝트는 현재 다음 패키지를 요구합니다:```
requests>=2.31.0
rich>=13.7.0
colorama>=0.4.6
dataclasses>=0.6; python_version < "3.7"

재현 가능한 설치를 위해서는 패키지를 개별적으로 설치하는 것보다 리포지토리의 requirements.txt 파일을 사용하는 것이 좋습니다.


설치

Linux 및 macOS```bash

git clone https://github.com/CerberusMrXi/phpMyAdmin-CVE-2020-5504-Exploit cd phpMyAdmin-CVE-2020-5504-Exploit

python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -r requirements.txt

chmod +x start.sh quick.sh exploit.py

root@kitploit:~
다음 명령으로 안내 인터페이스를 시작합니다:```bash
./start.sh

Windows```

git clone https://github.com/CerberusMrXi/phpMyAdmin-CVE-2020-5504-Exploit Set-Location phpMyAdmin-CVE-2020-5504-Exploit

py -m venv .venv ..venv\Scripts\Activate.ps1 python -m pip install --upgrade pip python -m pip install -r requirements.txt

.\start.bat

root@kitploit:~
If PowerShell 실행 정책으로 인해 실행 프로그램(launcher)이 실행되지 않는 경우, 승인된 환경에서 저장소의 문서화된 PowerShell 진입점을 사용하십시오:```
powershell -ExecutionPolicy Bypass -File .\start.ps1

수동 의존성 설치

requirements.txt를 사용할 수 없거나 의존성을 직접 관리하려는 경우에만 사용하세요:```bash python -m pip install "requests>=2.31.0" "rich>=13.7.0" "colorama>=0.4.6"

root@kitploit:~
---

## 사용법

아래 예시에서는 `https://authorized.example/phpmyadmin`을(를) 자리 표시자로 사용합니다. 승인된 범위 내에 명시적으로 포함된 대상으로만 교체하십시오.

### 탐지 모드

탐지 모드는 권장 시작점입니다. 이는 애플리케이션의 지문을 수집하고 악용을 시도하지 않고 버전 표시기를 수집하기 위한 것입니다.```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode detect

해당되는 경우 원래 인터페이스의 짧은 형식 플래그도 지원됩니다:```bash python exploit.py -u https://authorized.example/phpmyadmin -m detect

root@kitploit:~
### 검증 모드

검증 모드는 통제된 취약점 테스트를 위한 것입니다. 계약이 명시적으로 검증 활동을 허용하고 필수 자격 증명이 승인된 방법으로 제공된 경우에만 사용하십시오.```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode verify \
  --username "$PMADB_USERNAME" \
  --password "$PMADB_PASSWORD"

실제 비밀번호를 명령줄에 직접 입력하지 마십시오. 명령줄은 셸 기록에 저장되거나 로컬 프로세스 검사에 노출될 수 있기 때문입니다.

연구 모드

연구 모드는 더 광범위한 승인된 평가 활동 및 데이터 열거를 수행할 수 있습니다. 전용 테스트 환경 또는 요청된 범위에 대해 명시적 서면 승인이 있는 작업으로 제한되어야 합니다.```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode research
--username "$PMADB_USERNAME"
--password "$PMADB_PASSWORD"
--max-databases 20
--max-tables 50

root@kitploit:~
### 드라이런 모드

드라이런 모드는 명령 구성을 검증하고, 워크플로 동작을 검토하며, 침습적인 작업을 수행하지 않고 구성을 테스트하는 데 유용합니다.```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --dry-run

프록시 지원 평가

테스트 중에 요청과 응답을 검사해야 할 때 승인된 인터셉트 프록시를 통해 트래픽을 라우팅하십시오:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode verify
--proxy http://127.0.0.1:8080

root@kitploit:~
프록시는 참여 규칙에 의해 허용되고, 불필요한 민감 데이터를 수집하거나 보관하지 않도록 구성된 경우에만 사용하십시오.

### 대상 데이터베이스 평가

범위 문서가 특정 데이터베이스를 명시하는 경우, 구현이 이를 지원하는 곳에서는 평가를 해당 데이터베이스로 제한하십시오:```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode research \
  --database target_database \
  --max-tables 25

상세 진단

연결 실패, 예상치 못한 응답 또는 구성 문제를 조사할 때 상세 출력을 활성화하세요:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode verify
--verbose

root@kitploit:~
### 대화형 인터페이스

대화형 런처는 안내 프롬프트, 모드 선택, 진행 표시기, 색상으로 구분된 상태 출력을 제공하므로 처음 사용하는 사용자에게 권장됩니다.```bash
# Linux/macOS
./start.sh

# Windows
start.bat

운영 모드

모드 이름은 의도된 워크플로를 설명하는 것이지 모든 구성에서의 동작을 보장하지 않습니다. 라이브 시스템에서 모드를 사용하기 전에 구현 및 수행(engagement) 규칙을 검토하십시오.


명령줄 옵션

다음 옵션은 현재 프로젝트 인터페이스로 표시됩니다. python exploit.py --help를 실행하여 체크아웃에서 사용 가능한 정확한 옵션 이름을 확인하십시오.

중요: TLS 인증서 검증 비활성화는 전송 보안을 약화시키며 통제된 테스트 환경으로 제한해야 합니다. 이를 운영(프로덕션) 수정 사항으로 간주하지 마십시오.


구성

환경 변수

도구는 트래픽을 승인된 프록시를 통해 라우팅해야 하는 경우 표준 프록시 변수를 사용할 수 있습니다:```bash export HTTP_PROXY=http://127.0.0.1:8080 export HTTPS_PROXY=http://127.0.0.1:8080

root@kitploit:~
커밋된 `.env` 파일에 자격 증명을 저장하지 마십시오. 테스트 자격 증명에 환경 변수를 사용하는 경우, 셸 세션을 보호하고 작업 종료 후 이를 지우십시오:```bash
export PMADB_USERNAME='authorized-test-user'
export PMADB_PASSWORD='use-an-approved-secret-source'

# Remove them when finished
unset PMADB_USERNAME PMADB_PASSWORD

YAML 구성

비밀번호가 아닌 지속적인 평가 설정을 위해 config.yaml 파일을 생성하세요:```yaml scan: timeout: 10 retries: 3 max_databases: 50 max_tables: 100 max_columns: 50 max_rows: 100 delay_between_requests: 0.5

report: format: json output: report.json include_sensitive: false

root@kitploit:~
이 파일에 자격 증명을 저장하지 마세요. 파일이 조직의 승인된 비밀 관리 프로세스로 보호되는 경우는 예외입니다. 민감한 값을 포함하는 로컬 구성 파일은 `.gitignore`에 추가하세요.

---

## 보고서

프레임워크는 JSON, HTML, TXT 출력을 지원합니다. 작업의 대상과 보존 요구 사항에 맞는 형식을 선택하세요.

### JSON 보고서

JSON은 자동화, 보관, 평가 파이프라인으로의 수집에 적합합니다. 대표적인 보고서 구조는 아래에 나와 있습니다. 정확한 필드는 버전과 모드에 따라 달라질 수 있습니다.```json
{
  "scan_info": {
    "target": "https://authorized.example/phpmyadmin",
    "timestamp": "2024-01-15T10:30:00Z",
    "mode": "verify",
    "scanner": "CVE-2020-5504 Security Assessment Tool v1.2",
    "author": "Sudeepa Wanigarathna"
  },
  "fingerprint": {
    "is_phpmyadmin": true,
    "version": "5.0.0",
    "confidence": "CONFIRMED"
  },
  "verification": {
    "vulnerable": true,
    "confidence": "CONFIRMED",
    "status": "VULNERABLE_CONFIRMED"
  },
  "authentication": {
    "authenticated": true,
    "user": "authorized-test-user",
    "score": 8
  },
  "extracted_data": {
    "databases": ["information_schema", "mysql", "test"]
  }
}

HTML 보고서

HTML 출력은 사람이 검토하도록 설계되었습니다. 스타일이 적용된 섹션, 상태 표시기, 증거 요약, 메타데이터 및 인쇄 가능한 레이아웃을 포함할 수 있습니다. 생성된 보고서는 접근이 통제된 위치에 저장하십시오.

TXT 보고서

TXT 출력은 터미널 검토, 로그 수집, 티켓 첨부 파일 및 복잡한 서식이 필요하지 않은 환경에서 유용합니다.

보고서 처리 체크리스트

보고서를 공유하기 전에 계약에 따라 허용된 정보만 포함되어 있는지 확인하십시오. URL, 사용자 이름, 데이터베이스 이름, 레코드 값, 쿠키, 토큰, 요청 헤더 및 디버그 출력에서 비밀 또는 개인 데이터를 검토하십시오. 발견 사항을 뒷받침하는 데 필요하지 않은 민감한 콘텐츠는 편집하거나 제거하십시오.


아키텍처

이 프로젝트는 단계별 평가 파이프라인으로 구성되어 있습니다:``` Target │ ├── Fingerprinting │ ├── Version detection │ └── Path discovery │ ├── Vulnerability checks │ ├── Controlled verification │ └── Confidence analysis │ ├── Authentication │ ├── CSRF token extraction │ ├── Multi-signal validation │ └── Session management │ ├── Authorized assessment │ ├── Database enumeration │ ├── Table extraction │ └── Scoped data requests │ └── Reporting ├── JSON ├── HTML └── TXT

root@kitploit:~
### 응답 분석 계층

응답 분석 계층은 HTTP 응답 및 애플리케이션 동작 해석을 중앙화합니다. 다음의 개념적 인터페이스는 의도된 책임을 보여줍니다:```
ResponseAnalyzer
 ├── status_code( )
 ├── content_type()
 ├── authenticated()
 ├── error_detected()
 ├── verification_result()
 └── extract_metadata()

이러한 검사를 중앙화하면 핑거프린팅, 인증, 검증, 보고 단계를 일관되게 유지하는 데 도움이 됩니다.

인증 흐름```

Login request │ ▼ CSRF token extraction │ ▼ Login submission │ ▼ Cookie and session validation │ ▼ Authenticated-page access test │ ▼ Expected-content verification │ ▼ Authenticated result

root@kitploit:~
## 문제 해결

### SSL 인증서 오류

통제된 테스트 환경에서 내부 또는 자체 서명 인증서를 사용하는 경우, 위험을 이해하고 해당 작업이 허용할 때만 프로젝트의 TLS 옵션을 사용하십시오:```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode detect \
  --no-verify-ssl

바람직한 해결 방법은 검증을 비활성화하는 대신 인증서 체인 또는 신뢰 구성을 수정하는 것입니다.

연결 시간 초과

라우팅, DNS, 프록시 구성 및 대상 가용성을 확인한 후에만 시간 초과를 늘리십시오:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode detect
--timeout 30

root@kitploit:~
Use conservative request rates and delays to avoid placing unnecessary load on the target.

### Authentication failures

Confirm that the test account is valid, that the account is allowed to access the target, and that the supplied URL points to the correct phpMyAdmin installation. Review verbose output for CSRF, cookie, redirect, and content-type indicators without sharing credentials or session values.

### Missing `rich` package

Install the project's dependencies inside the active virtual environment:```bash
python -m pip install -r requirements.txt

현재 버전에서 지원하는 경우, 최소한의 터미널 경험을 위해 리치 포맷팅을 비활성화하세요:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode detect
--no-rich

root@kitploit:~
### Linux 또는 macOS에서 권한 거부됨

런처를 실행 가능하게 만드십시오:```bash
chmod +x start.sh exploit.py

예상치 못한 결과

예상치 못한 결과는 중단하고 조사해야 할 이유로 간주하십시오. 대상 버전, 리버스 프록시 동작, 인증 상태, 요청/응답 증거, 구성된 제한, 재시도 동작, 그리고 다른 보안 제어가 응답을 변경했는지 여부를 확인하십시오. 원하는 결과를 얻기 위해 단순히 영향력이 큰 모드를 반복적으로 재실행하지 마십시오.


수정 지침

공식 phpMyAdmin 권고는 영향을 받는 설치를 다음과 같이 업그레이드할 것을 권장합니다:[1]

영향받는 계열영향받는 버전권장 조치
phpMyAdmin 4.x4.9.4 미만4.9.4 이상으로 업그레이드.
phpMyAdmin 5.x5.0.05.0.1 이상으로 업그레이드.

조직은 또한 MySQL 계정 권한을 검토하고, 관리 인터페이스를 제한하고, 강력한 인증을 시행하고, 네트워크 노출을 제한하고, 관리 활동을 모니터링하고, 공급업체의 최신 릴리스 및 보안 지침을 따라야 합니다. 이러한 조치는 패치 적용을 보완하는 것이지 대체하지는 않습니다.

수정 후 승인된 환경에서 검증을 반복하고 설치된 버전, 배포 경로, 테스트 날짜 및 결과를 보여주는 증거를 보관하십시오. 권한 부여에 사후 수정 검증이 명시적으로 포함되지 않는 한 프로덕션 시스템을 테스트하지 마십시오.


개발

로컬 설정```bash

git clone https://github.com/CerberusMrXi/phpMyAdmin-CVE-2020-5504-Exploit cd phpMyAdmin-CVE-2020-5504-Exploit

python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -r requirements-dev.txt

root@kitploit:~
Windows에서는 다음 명령으로 환경을 활성화하세요:```
.\.venv\Scripts\Activate.ps1

테스트```bash

python -m pytest tests/

root@kitploit:~
### 코드 품질 기대사항

기여는 PEP 8을 따라야 하며, 가능한 경우 타입 힌트를 사용하고, 설명적인 docstring을 포함하며, 명확한 오류 처리를 유지하고, 자격 증명, 쿠키, 토큰 또는 불필요한 추출 데이터를 로깅하지 않아야 합니다. 평가 범위, 요청 동작, 인증 또는 보고에 영향을 미치는 변경 사항에는 테스트와 문서 업데이트가 포함되어야 합니다.

### 제안된 저장소 구조```
.
├── exploit.py
├── requirements.txt
├── requirements-dev.txt
├── config.yaml.example
├── start.sh
├── start.bat
├── start.ps1
├── tests/
├── docs/
│   └── images/
└── reports/

생성된 보고서, 자격 증명, 세션 아티팩트 또는 대상별 데이터를 커밋하지 마십시오. 적절한 경우 .gitignore에 추가하십시오.


기여

신뢰성, 문서, 테스트 커버리지, 접근성 또는 안전한 평가 워크플로를 개선하는 기여를 환영합니다.

  1. 저장소를 포크합니다.

  2. feature/improved-fingerprint-parser와 같은 명확한 목적의 브랜치를 생성합니다.

  3. 문제를 해결하는 가장 작고 일관된 변경을 수행합니다.

  4. 테스트와 문서를 추가하거나 업데이트합니다.

  5. 로컬에서 테스트 스위트를 실행합니다.

  6. 명확한 메시지와 함께 커밋합니다.

  7. 브랜치를 푸시하고 변경 사항, 수행된 테스트, 보안 또는 호환성 영향에 대해 설명하는 풀 리퀘스트를 엽니다.```bash git checkout -b feature/improved-fingerprint-parser git add . git commit -m "Improve fingerprint result handling" git push origin feature/improved-fingerprint-parser

root@kitploit:~
권한이 없는 대상을 추가하거나, 보호 장치를 약화시키거나, 실제 자격 증명을 노출하거나, 라이브 시스템 데이터를 포함하거나, 문서화된 범위를 벗어난 테스트를 권장하는 변경 사항을 제출하지 마십시오.

---

## 변경 로그

### 버전 1.2

- `FingerprintResult` details-attribute 오류를 수정했습니다.

- rich 터미널 포맷을 사용할 수 없을 때 대체 경로를 추가했습니다.

- 버전 탐지 패턴을 개선했습니다.

- 워크플로 전반의 오류 처리를 강화했습니다.

- 통제된 테스트를 위한 TLS 검증 제어를 추가했습니다.

- 크로스 플랫폼 호환성을 개선했습니다.

### 버전 1.1

- 전용 핑거프린팅 모듈을 추가했습니다.

- 안전한 검증 모드를 구현했습니다.

- 다중 신호 인증 검증을 추가했습니다.

- 포괄적인 보고서 생성을 추가했습니다.

- rich 터미널 인터페이스를 통합했습니다.

### 버전 1.0

- 최초 릴리스.

- 기본 SQL injection 평가 기능을 추가했습니다.

- 데이터베이스 열거 기능을 추가했습니다.

- JSON 출력을 추가했습니다.

---

## 라이선스

이 프로젝트는 MIT 라이선스로 제공됩니다. 전체 텍스트는 [LICENSE](https://github.com/cerberusmrxi/phpmyadmin-cve-2020-5504-exploit/blob/HEAD/LICENSE) 파일을 참조하십시오.```
MIT License

Copyright (c) 2024 Sudeepa Wanigarathna

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

이 소프트웨어는 보증 없이 제공됩니다. 프로젝트를 재배포하기 전에 전체 LICENSE 파일을 검토하십시오.


감사의 글

이 프로젝트는 보안 권고와 패치를 제공한 phpMyAdmin 팀, 취약점을 보고한 연구자들, 그리고 프레임워크에서 사용하는 라이브러리를 유지 관리하는 오픈소스 관리자들에게 감사를 표합니다.


연락처 및 지원

채널링크
저자Sudeepa Wanigarathna
GitHub 프로필@sudeepawanigarathna

이 프로젝트에 대한 취약점 보고 시 민감한 세부 정보를 공개적으로 게시하지 마십시오. 구성된 후에는 비공개 보안 연락처 또는 저장소에 문서화된 보안 보고 절차를 사용하십시오.


참고 자료

https://www.phpmyadmin.net/security/PMASA-2020-1/ "phpMyAdmin PMASA-2020-1 보안 권고"

https://nvd.nist.gov/vuln/detail/CVE-2020-5504 "NIST 국가 취약점 데이터베이스: CVE-2020-5504"


책임 있는 공개를 통한 보안.

맨 위로

도구 다운로드
영역기능설명
탐지자동 핑거프린팅phpMyAdmin 배포 환경을 식별하고 버전 관련 지표를 수집합니다.
검증취약점 확인신뢰도 중심 결과 처리를 통해 통제된 점검을 수행합니다.
워크플로우여러 운영 모드탐지, 검증, 연구, 예행연습 워크플로우를 지원합니다.
세션 처리CSRF 토큰 관리애플리케이션 흐름에 필요한 CSRF 관련 값을 추출하고 관리합니다.
인증다중 신호 검증여러 지표를 사용하여 잘못된 인증 결과를 줄입니다.
평가데이터베이스 열거공인된 데이터베이스, 테이블, 열 및 선택된 데이터의 열거를 지원합니다.
인젝션 연구블라인드 기법구현에서 활성화된 경우 불리언 기반 및 시간 기반 연구 워크플로우를 지원합니다.
보고JSON, HTML, TXT다양한 대상을 위해 구조화되고 스타일이 적용된 텍스트 출력을 생성합니다.
안정성재시도 및 백오프구성 가능한 동작으로 일시적인 요청을 재시도합니다.
통합프록시 지원Burp Suite 또는 다른 HTTP 인터셉션 프록시와 함께 사용할 수 있습니다.
사용성풍부한 터미널 인터페이스색상 구분 출력, 진행 표시기, 읽기 쉬운 상태 메시지를 제공합니다.
진단상세 로깅공인된 문제 해결을 위한 추가 진단 정보를 노출합니다.
모드목적예상 영향권장 사용
detect애플리케이션을 식별하고 버전 지표를 확인합니다.없음 또는 최소승인된 범위 내 초기 정찰.
verify통제된 검사를 통해 대상이 취약한지 테스트합니다.낮음승인된 평가 중 확인.
research광범위한 평가와 승인된 열거를 수행합니다.높음명시적 승인을 받은 전용 랩 또는 작업.
dry-run침습적 작업 없이 워크플로 동작을 시뮬레이션합니다.없음구성 및 명령 검증.
옵션설명예시
-u, --url승인된 phpMyAdmin 기본 URL.--url https://authorized.example/phpmyadmin
-m, --modedetect, verify 또는 research를 선택합니다.--mode verify
--dry-run침습적 작업 없이 워크플로를 시뮬레이션합니다.--dry-run
--username승인된 테스트 계정의 사용자 이름.--username "$PMADB_USERNAME"
--password승인된 테스트 계정의 비밀번호.--password "$PMADB_PASSWORD"
-p, --proxyHTTP 프록시 URL.--proxy http://127.0.0.1:8080
-f, --formatjson, html 또는 txt와 같은 보고서 형식.--format html
-o, --output출력 파일 경로.--output report.html
-d, --database지원되는 경우 활동을 명명된 데이터베이스로 제한합니다.--database target_database
-t, --timeout요청 제한 시간(초).--timeout 30
--max-databases열거할 최대 데이터베이스 수.--max-databases 20
--max-tables열거할 최대 테이블 수.--max-tables 50
--max-columns열거할 최대 열 수.--max-columns 50
--max-rows지원되는 경우 요청할 최대 행 수.--max-rows 100
-v, --verbose진단 출력을 활성화합니다.--verbose
--no-verify-ssl통제된 테스트 전용으로 TLS 인증서 검증을 비활성화합니다.--no-verify-ssl
--no-rich리치 터미널 형식을 비활성화합니다.--no-rich
이슈 트래커저장소 이슈
이메일[email protected]