5692 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / setup_lab.sh SH
#!/bin/bash
# setup_lab.sh – Script khởi động lab CVE-2026-24136 tự động

set -e

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m'

echo -e "${CYAN}"
echo "╔══════════════════════════════════════════════════════╗"
echo "║     CVE-2026-24136 Lab Setup                        ║"
echo "║     Saleor IDOR – Unauthenticated PII Exfiltration  ║"
echo "╚══════════════════════════════════════════════════════╝"
echo -e "${NC}"

# ── 1. Kiểm tra dependencies ──────────────────────────────────────────────────
echo -e "${YELLOW}[1/5] Kiểm tra dependencies...${NC}"
for cmd in docker python3 curl; do
    if command -v $cmd &>/dev/null; then
        echo -e "  ${GREEN}✓ $cmd${NC}"
    else
        echo -e "  ${RED}✗ $cmd chưa được cài đặt${NC}"
        exit 1
    fi
done

# Detect docker compose command (v2: "docker compose", v1: "docker-compose")
if docker compose version &>/dev/null 2>&1; then
    DOCKER_COMPOSE="docker compose"
    echo -e "  ${GREEN}✓ docker compose (v2)${NC}"
elif command -v docker-compose &>/dev/null; then
    DOCKER_COMPOSE="docker-compose"
    echo -e "  ${GREEN}✓ docker-compose (v1)${NC}"
else
    echo -e "  ${RED}✗ Không tìm thấy docker compose / docker-compose${NC}"
    echo -e "  ${YELLOW}→ Mở Docker Desktop → Settings → Resources → WSL Integration → bật distro của bạn${NC}"
    exit 1
fi

# ── 2. Khởi động containers ───────────────────────────────────────────────────
echo -e "\n${YELLOW}[2/5] Khởi động Docker containers...${NC}"
$DOCKER_COMPOSE up -d

echo -e "${CYAN}  Đang chờ Saleor API khởi động (có thể mất 2-3 phút)...${NC}"
for i in {1..40}; do
    if curl -sf http://localhost:8000/health/ &>/dev/null; then
        echo -e "  ${GREEN}✓ Saleor API đã sẵn sàng!${NC}"
        break
    fi
    echo -n "."
    sleep 5
done

# ── 3. Tạo superuser ──────────────────────────────────────────────────────────
echo -e "\n${YELLOW}[3/5] Tạo admin account...${NC}"
docker exec cve_saleor_api python manage.py shell -c "
from django.contrib.auth import get_user_model
User = get_user_model()
if not User.objects.filter(email='[email protected]').exists():
    User.objects.create_superuser('[email protected]', 'admin')
    print('Admin created: [email protected] / admin')
else:
    print('Admin đã tồn tại')
"

# ── 4. Populate sample data ───────────────────────────────────────────────────
echo -e "\n${YELLOW}[4/5] Populate sample data...${NC}"
docker exec cve_saleor_api python manage.py populatedb --createsuperuser || \
    echo -e "  ${YELLOW}populatedb đã chạy trước đó, bỏ qua${NC}"

# ── 5. Chạy seed data ─────────────────────────────────────────────────────────
echo -e "\n${YELLOW}[5/5] Tạo victim accounts và orders...${NC}"
pip install requests -q
python3 scripts/seed_data.py

echo -e "\n${GREEN}"
echo "╔══════════════════════════════════════════════════════╗"
echo "║              Lab đã sẵn sàng!                       ║"
echo "╠══════════════════════════════════════════════════════╣"
echo "║  Saleor API   : http://localhost:8000/graphql/      ║"
echo "║  Dashboard    : http://localhost:9000               ║"
echo "║  Admin login  : [email protected] / admin           ║"
echo "╠══════════════════════════════════════════════════════╣"
echo "║  Chạy PoC:                                          ║"
echo "║  cd scripts                                         ║"
echo "║  python3 poc_cve_2026_24136.py explain              ║"
echo "║  python3 poc_cve_2026_24136.py enumerate            ║"
echo "║  python3 poc_cve_2026_24136.py file order_ids.json  ║"
echo "╚══════════════════════════════════════════════════════╝"
echo -e "${NC}"